# 03-自动打包与发布 配置 GitHub Actions 自动打包 .laapp 并发布到 GitHub Releases。 --- ## 🎯 发布工作流 ```yaml # .github/workflows/release.yml name: Release on: push: tags: - 'v*' env: DOTNET_VERSION: '10.0.x' jobs: build-and-release: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Get Version id: version run: | $version = $env:GITHUB_REF -replace 'refs/tags/v', '' echo "VERSION=$version" >> $env:GITHUB_OUTPUT - name: Restore run: dotnet restore - name: Build run: dotnet build --configuration Release --no-restore - name: Package run: | $version = "${{ steps.version.outputs.VERSION }}" Rename-Item -Path "bin/Release/net10.0/MyPlugin.laapp" -NewName "MyPlugin-$version.laapp" - name: Create Release uses: softprops/action-gh-release@v1 with: files: bin/Release/net10.0/*.laapp generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ``` --- ## 📋 发布流程 ### 1. 创建标签 ```bash # 创建版本标签 git tag -a v1.0.0 -m "Release version 1.0.0" # 推送标签到 GitHub git push origin v1.0.0 ``` ### 2. 自动触发 推送标签后,GitHub Actions 会自动: 1. 检出代码 2. 构建项目 3. 打包 .laapp 4. 创建 Release 5. 上传产物 ### 3. 查看 Release 在 GitHub 仓库页面 → Releases 查看自动创建的发布。 --- ## 🔧 高级配置 ### 预发布版本 ```yaml - name: Create Release uses: softprops/action-gh-release@v1 with: files: bin/Release/net10.0/*.laapp prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }} ``` ### 生成变更日志 ```yaml - name: Generate Changelog id: changelog uses: mikepenz/release-changelog-builder-action@v4 with: configuration: .github/changelog-config.json env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: softprops/action-gh-release@v1 with: body: ${{ steps.changelog.outputs.changelog }} files: bin/Release/net10.0/*.laapp ``` --- ## 💡 最佳实践 ### 版本号管理 ```yaml - name: Update Version run: | $version = "${{ github.ref_name }}" -replace '^v', '' $json = Get-Content plugin.json | ConvertFrom-Json $json.version = $version $json | ConvertTo-Json | Set-Content plugin.json ``` ### 多文件发布 ```yaml - name: Create Release uses: softprops/action-gh-release@v1 with: files: | bin/Release/net10.0/*.laapp README.md LICENSE ``` --- ## 🎯 下一步 学习多平台构建: 👉 **[04-多平台构建策略](04-多平台构建策略.md)** --- *最后更新:2026年4月*