← Back to list

jenkins-test-control
by cosven
scripts for testing TiDB
⭐ 10🍴 4📅 Jan 22, 2026
SKILL.md
name: jenkins-test-control description: Jenkins 测试执行与管理。用于通过 SSH 查看 Jenkins job/build 日志并归档,同时可通过 Jenkins API 查询、触发、停止、重跑构建;当需要查看测试详情、触发或停止 Jenkins 测试时使用。
Jenkins 测试执行与管理
概述
通过 SSH 获取 Jenkins 构建结果与日志,输出结论与建议并归档到 testrun/;必要时通过 Jenkins API 触发、停止或重跑构建。
工作流
- 明确输入与操作类型
- Jenkins master 地址、job 名称、build 编号(或“最新”)。
- Jenkins 部署目录(默认
/mnt/hdd01/jenkins/home/)。 - 是否需要落盘到
testrun/子目录。
- 定位 build 目录
- 目录模板:
/mnt/hdd01/jenkins/home/jobs/<job>/builds/<build>/ - 最新 build 示例:
ssh <jenkins-host> "ls -1 /mnt/hdd01/jenkins/home/jobs/<job>/builds | grep -E '^[0-9]+$' | sort -n | tail -n 1"
- 判断构建结果
- 读取
build.xml中<result>:
ssh <jenkins-host> "rg -n '<result>' /mnt/hdd01/jenkins/home/jobs/<job>/builds/<build>/build.xml"
- 如无结果,查看是否还在构建或查 console 日志的结束标记。
- 提取关键异常/失败
- 首选关键字:
FATAL|ERROR|Exception|FAIL|FAILED|streamLoadFailCount
ssh <jenkins-host> "rg -n 'FATAL|ERROR|Exception|FAIL|FAILED|streamLoadFailCount' /mnt/hdd01/jenkins/home/jobs/<job>/builds/<build>/log"
- 如需要上下文,用
sed -n '<start>,<end>p'取片段。
- 输出结论
- 先结论(SUCCESS/FAILURE/UNSTABLE),再关键异常与时间点,最后给出建议。
- 若只有构建告警(如依赖重叠),说明其性质是否影响测试结果。
- 归档到 testrun
- 在
testrun/<任务名>/README.md记录:任务信息、时间、结果、关键日志、结论。 - 内容需脱敏,避免账号/密钥进入仓库(testrun 不提交,可记录内网地址)。
Jenkins 构建控制(停止/重跑)
脚本:.codex/skills/jenkins-test-control/scripts/jenkins_build_control.py
依赖:requests、click(用 uv 管理)
环境变量:
JENKINS_URLJENKINS_USERJENKINS_TOKEN
用法:
uv run python3 .codex/skills/jenkins-test-control/scripts/jenkins_build_control.py --job <JOB> --build <BUILD> --stop --rebuild
查询构建状态:
uv run python3 .codex/skills/jenkins-test-control/scripts/jenkins_build_control.py --job <JOB> --build <BUILD> --status
查询最新构建:
uv run python3 .codex/skills/jenkins-test-control/scripts/jenkins_build_control.py --job <JOB> --latest
查询队列状态:
uv run python3 .codex/skills/jenkins-test-control/scripts/jenkins_build_control.py --job <JOB> --queue-id <QUEUE_ID>
等待构建完成并输出结果:
uv run python3 .codex/skills/jenkins-test-control/scripts/jenkins_build_control.py --job <JOB> --build <BUILD> --wait
写入 testrun 记录:
uv run python3 .codex/skills/jenkins-test-control/scripts/jenkins_build_control.py --job <JOB> --latest --testrun-file testrun/<task>/README.md
说明:
- 默认尝试
/<build>/rebuild,失败则回退到buildWithParameters(参数来自目标 build)。 - 可用
--param KEY=VALUE覆盖单个参数。 --queue-id/--queue-url可用于查看队列项是否已分配 build。- 触发重跑时默认等待 30s 尝试获取
queue_build_number/queue_build_url(可用--queue-wait-seconds 0关闭)。 --wait可轮询直到构建结束,--wait-timeout 0表示无限等待。--testrun-file会追加一行构建信息到指定 README。- 使用前先确认操作影响与目标 build。
注意事项
- SSH 如提示 host key 变更,先人工确认再处理
known_hosts。 - 涉及集群影响操作前先征求确认。
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon