You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions中记录Python脚本运行产生的错误响应?

GitHub Actions 层面采集Python脚本错误日志的方案

核心逻辑

GitHub Actions 默认会在步骤返回非0退出码时直接终止工作流,且不会主动将步骤输出落盘。你可以通过调整步骤容错配置+输出重定向实现无侵入式的错误采集,无需修改现有Python脚本,适配你当前Windows runner的配置如下:

修改后的工作流配置

name: Bug Tracker

# Controls when the workflow will run
on:
  # Triggers the workflow on push request events
  push:
    branches: [ main ]
    
  # Allows you to run this workflow manually from the Actions tab (for testing)
  workflow_dispatch:

jobs:
  build:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4 # 建议升级到最新稳定版的checkout动作
      - name: setup python
        uses: actions/setup-python@v5
        with:
          python-version: 3.8
      - name: Run File and collect bug
        id: run_script
        continue-on-error: true # 核心配置:脚本运行失败也不终止工作流
        run: |
          echo Running File...
          # 将标准输出和标准错误同时输出到控制台和日志文件
          python script.py 2>&1 | Tee-Object -FilePath run_log.txt
          # 将退出码写入步骤输出,供后续步骤判断
          echo "exit_code=$LASTEXITCODE" >> $env:GITHUB_OUTPUT
      - name: Handle run result
        run: |
          if ($env:EXIT_CODE -ne 0) {
            echo "Script run failed, exit code: $env:EXIT_CODE"
            # 可以给错误日志重命名,方便后续识别
            Rename-Item -Path run_log.txt -NewName error_log_$(Get-Date -Format "yyyyMMddHHmmss").txt
            # 此处可添加额外逻辑,比如发送告警、提交日志到仓库等
          } else {
            echo "Script run success"
          }
        env:
          EXIT_CODE: ${{ steps.run_script.outputs.exit_code }}
      # 可选配置:将日志作为Artifact持久化保存,可在Actions运行页面下载
      - name: Upload log artifact
        uses: actions/upload-artifact@v4
        with:
          name: run-logs
          path: "*.txt"
          retention-days: 30 # 日志保留30天,可自定义

配置说明

  • continue-on-error: true:确保Python脚本执行失败后,后续的日志处理逻辑仍可正常执行
  • 2>&1 | Tee-Object -FilePath run_log.txt:PowerShell环境下的输出重定向写法,会把Python脚本的标准输出、标准错误同时输出到控制台和本地日志文件,避免丢失错误栈信息
  • 退出码判断逻辑可以根据你的需求扩展,比如失败时自动提交错误日志到仓库、发送内部告警等
  • 升级了官方动作的版本到最新稳定版,修复旧版本的已知问题,兼容性更好

内容的提问来源于stack exchange,提问作者Jordan K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:57:03