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

如何判断Docker版Python GitHub Action是否启用debug logging运行

判断GitHub Action中的Debug Logging状态

当然可以在你的Docker-based Python GitHub Action中判断是否启用了debug logging,核心方式是利用GitHub自动注入的环境变量,也可以结合自定义输入参数增强灵活性:

1. 利用自动注入的RUNNER_DEBUG环境变量

当用户选择启用debug logging重新运行工作流时,GitHub Actions Runner会自动为所有步骤设置环境变量RUNNER_DEBUG=1。你可以在Python代码中直接读取这个变量来触发详细日志输出:

import os

def enable_detailed_logging():
    return os.environ.get("RUNNER_DEBUG") == "1"

# 使用示例
if enable_detailed_logging():
    print("DEBUG: 开始执行数据库连接检查...")
    print(f"DEBUG: 当前工作目录: {os.getcwd()}")
    # 加入更多详细的调试逻辑
else:
    print("INFO: 执行核心任务...")

这个变量是Runner自动注入的,不需要你在action.yml中做任何额外配置,只要用户在重新运行时勾选了debug选项,你的代码就能捕获到。

2. 结合自定义输入参数(可选)

如果想让用户在触发Action时就能手动开启debug模式(无需等到重新运行),可以在action.yml中添加一个可选输入参数:

name: "Your Docker Python Action"
inputs:
  manual_debug:
    description: "手动启用详细调试日志"
    required: false
    default: "false"
runs:
  using: "docker"
  image: "Dockerfile"

然后在Python代码中同时判断自定义参数和RUNNER_DEBUG,实现双重触发:

import os

def is_debug_active():
    # 检查手动输入的debug开关
    manual_mode = os.environ.get("INPUT_MANUAL_DEBUG", "false").lower() == "true"
    # 检查Runner自动注入的debug状态
    runner_mode = os.environ.get("RUNNER_DEBUG") == "1"
    return manual_mode or runner_mode

if is_debug_active():
    print("DEBUG: 调试模式已激活,输出详细日志...")
    # 执行调试相关操作
else:
    print("INFO: 常规模式运行...")

注意事项

  • 确保你的Docker容器中没有覆盖RUNNER_DEBUG环境变量,保持Runner注入的值可用。
  • 调试日志不要包含敏感信息,避免泄露用户的密钥或私有数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:02:28