GitHub Actions生成的TXT文件无法推送到仓库,需修改YAML吗?
解决GitHub Actions生成文件无法推送到仓库的问题
是的,你需要在现有YAML脚本中添加提交并推送生成文件的步骤——默认的Actions流程只会拉取代码、执行构建,不会自动把运行时生成的文件提交回仓库。
以下是修改后的完整配置,新增了推送相关步骤:
name: Java CI with Maven on: push: branches: [ "master" ] pull_request: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' cache: maven - name: Build with Maven run: mvn clean test -DsuiteXMLFILE=testng.xml # 新增:推送生成的TXT文件到仓库 - name: Configure Git identity run: | git config --global user.name "GitHub Actions" git config --global user.email "actions@github.com" - name: Stage generated files run: git add path/to/your/*.txt # 替换成实际的TXT文件路径,比如*.txt表示所有TXT文件 - name: Commit changes run: git commit -m "ci: auto-update generated TXT files" || echo "No changes to commit" - name: Push changes run: git push origin master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
关键步骤说明:
- Configure Git identity:Git提交必须有用户信息,这里配置Actions默认的身份即可
- Stage generated files:把生成的TXT文件加入Git暂存区,务必替换成你实际的文件路径(比如
./reports/*.txt) - Commit changes:提交变更,添加
|| echo "No changes to commit"是为了避免文件无变更时流程报错 - Push changes:利用GitHub自动生成的
GITHUB_TOKEN授权,把提交推送到master分支
额外排查点:
- 在
Build with Maven步骤后可以临时加一步run: ls -la path/to/your/files,确认生成的TXT文件确实存在 - 如果是
pull_request触发的流程,推送可能会有分支权限限制,建议只在push到master时执行推送步骤,可调整on部分的触发条件
内容的提问来源于stack exchange,提问作者Beksultan Nurkulov
相关产品推荐
相关产品推荐

