Flutter应用GitHub Actions集成GitVersion报错,无法生成version.txt
解决GitVersion在GitHub Actions中执行失败(Exit Code 1)的问题
问题根源
GitVersion 需要完整的 Git 提交历史和标签信息来计算版本号,而默认的 actions/checkout@v3 是浅克隆(仅拉取最近一次提交),缺少必要的历史数据,导致执行失败。
修复步骤
修改你的 CI/CD 配置,在 checkout 步骤中添加参数拉取完整历史:
调整后的完整配置
name: desarrollo_ci_cd on: push: branches: - main jobs: version: name: Creando numero de compilacion runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 # 拉取完整的Git历史 fetch-tags: true # 拉取所有标签 - name: Install GitVersion uses: gittools/actions/gitversion/setup@v0.10.2 with: versionSpec: '5.x' - name: Use GitVersion id: gitversion uses: gittools/actions/gitversion/execute@v0.10.2 - name: Create version.txt with nuGetVersion run: echo ${{ steps.gitversion.outputs.nuGetVersion }} > version.txt - name: Upload version.txt uses: actions/upload-artifact@v2 with: name: gitversion path: version.txt
关键修改说明
fetch-depth: 0:强制拉取仓库的完整提交历史,GitVersion 需要这些历史来分析版本递进规则fetch-tags: true:确保所有 Git 标签都被拉取,GitVersion 会用标签作为版本计算的基准
验证
重新推送代码触发 CI 流程,GitVersion 步骤应该能正常执行,成功生成包含版本号的 version.txt 文件,后续构建 appbundle 时可以通过下载该 artifact 获取版本信息。
内容的提问来源于stack exchange,提问作者Johnn Hidalgo
相关产品推荐
相关产品推荐

