4.9 KiB
4.9 KiB
Gitea 工作流在线调试 - 快速使用指南
🎯 功能特点
- ✅ 在线编辑工作流 - 无需本地编辑后推送
- ✅ 灵活配置参数 - 设置分支、事件、输入、环境变量
- ✅ 实时日志查看 - 及时反馈执行结果
- ✅ 多调试会话 - 并发调试多个工作流
- ✅ 无缝集成 - 使用现有的 Runner 系统
📖 使用步骤
1. 进入工作流页面
打开仓库的 Actions 页面:
https://your-gitea-instance/repos/{owner}/{repo}/actions
2. 选择要调试的工作流
在左侧菜单中点击要调试的工作流文件(如 deploy.yml)
3. 点击调试按钮
在筛选菜单右侧,会看到"Debug Workflow"按钮,点击进入调试页面
4. 配置调试环境
在调试页面的左侧面板配置:
🔧 基础配置
- Reference (分支/标签) - 选择要在哪个分支/标签上执行
- Event Type (事件类型) - 选择触发事件类型
push- 推送事件pull_request- PR 事件workflow_dispatch- 手动触发- 其他...
📝 工作流输入
如果工作流支持 workflow_dispatch 输入:
- 点击"Add Input"按钮
- 输入参数名称和值
- 点击运行时会传递这些参数
示例:
Input Name: environment
Input Value: production
Input Name: version
Input Value: 1.0.0
🔐 环境变量
添加自定义环境变量:
- 点击"Add Environment"按钮
- 输入环境变量名和值
- 工作流执行时可以访问这些变量
示例:
ENV Name: DEBUG
ENV Value: true
ENV Name: LOG_LEVEL
ENV Value: debug
📄 工作流内容
直接在编辑框中修改工作流 YAML 内容。支持修改:
- job 定义
- step 定义
- 条件表达式
- 其他任何工作流语法
5. 执行调试
点击"Run Workflow"按钮启动调试:
- 工作流会立即开始执行
- 状态面板会显示运行链接
6. 查看实时日志
在右侧面板查看:
- 📊 执行日志 - 实时更新(每2秒刷新)
- 🔗 运行链接 - 点击查看完整运行页面
- 📋 复制日志 - 复制所有日志内容
💡 常见场景
场景 1: 调试部署脚本错误
- 选择
deploy.yml工作流 - 点击调试
- 修改部署步骤中有问题的命令
- 在 ref 选择
staging分支 - 设置环境变量
ENVIRONMENT=staging - 运行调试
- 查看日志找出问题
- 修改代码并重新测试
场景 2: 测试新的工作流输入
- 编辑
test.yml工作流 - 点击调试
- 添加测试输入参数:
test_level: smokeparallel: true
- 运行调试
- 验证输入是否正确传递
场景 3: 验证不同环境下的行为
- 调试工作流
- 分别设置环境变量:
- 第一次:
ENV=dev - 第二次:
ENV=staging - 第三次:
ENV=production
- 第一次:
- 对比三次运行的日志
- 确保各环境行为正确
⚠️ 注意事项
权限要求
- 需要对仓库有 Actions 写入权限
- 只有仓库管理员可以创建调试会话
会话管理
- 每个调试会话会自动保存编辑的工作流内容
- 调试会话 24 小时后自动过期并清理
- 可以创建多个调试会话,互不影响
工作流执行
- 调试使用的是真实的 Runner,和正常运行一样
- 如果工作流有副作用(如部署、数据库操作),请谨慎
- 建议在测试分支上进行调试
日志显示
- 日志实时更新,可能有 1-2 秒延迟
- 日志存储有保留期,超期会被清理
- 如需保存日志,请及时复制
🔍 调试技巧
技巧 1: 分步验证
jobs:
debug:
runs-on: ubuntu-latest
steps:
- name: Print environment
run: |
echo "Branch: ${{ github.ref }}"
echo "Event: ${{ github.event_name }}"
echo "DEBUG is: $DEBUG"
技巧 2: 添加详细日志
steps:
- name: Run with debug output
run: |
set -x # Print each command
my-command --verbose
技巧 3: 条件调试
在工作流中添加调试步骤,使用条件控制:
- name: Debug output
if: env.DEBUG == 'true'
run: |
# 调试命令
env
pwd
ls -la
📞 获取帮助
如遇到问题:
- 检查权限 - 确保你有 Actions 写入权限
- 查看日志 - 详细的日志通常能指出问题
- 简化工作流 - 从最简单的步骤开始测试
- 查看文档 - Gitea Actions 官方文档和 GitHub Actions 文档
🚀 最佳实践
✅ 推荐做法
- 在非生产分支上调试
- 先用 echo 验证变量和路径
- 逐步扩展工作流复杂度
- 保存成功的工作流配置
❌ 避免做法
- 不要在生产分支上运行有风险的调试
- 不要频繁修改无关工作流
- 不要忽视失败的调试运行
- 不要保留临时的调试代码在最终版本
提示: 该调试功能专为开发者设计,可以大幅加快 CI/CD 流程的故障排查和优化。充分利用它可以显著提高开发效率!