jenkins-deploy
Jenkinsを使って、まるで手慣れた同僚に頼むように、Gitのブランチやタグ情報を活用しながら、プロジェクトの構築やリリースをスムーズに実行できる便利な自動化支援するSkill。
📜 元の英語説明(参考)
ABC Jenkins 项目发布技能。支持智能参数推断和交互式触发 Jenkins 构建,自动获取 Git 分支和标签信息。当用户请求"发布 Jenkins"、"触发构建"、"部署项目"、"Jenkins 发布"或类似操作时触发此技能。需要环境变量 JENKINS_USER 和 JENKINS_TOKEN。
🇯🇵 日本人クリエイター向け解説
Jenkinsを使って、まるで手慣れた同僚に頼むように、Gitのブランチやタグ情報を活用しながら、プロジェクトの構築やリリースをスムーズに実行できる便利な自動化支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o jenkins-deploy.zip https://jpskill.com/download/8796.zip && unzip -o jenkins-deploy.zip && rm jenkins-deploy.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8796.zip -OutFile "$d\jenkins-deploy.zip"; Expand-Archive "$d\jenkins-deploy.zip" -DestinationPath $d -Force; ri "$d\jenkins-deploy.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
jenkins-deploy.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
jenkins-deployフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
ABC Jenkins 发布技能
対話形式で Jenkins のビルドをトリガーし、スマートなパラメータ推論(ブランチ名の自動解析、環境推論)とリアルタイムな状態監視をサポートします。
前提条件
JENKINS_USER環境変数が設定済みであること(Jenkins ユーザー名)JENKINS_TOKEN環境変数が設定済みであること(Jenkins API Token)- 現在 Git リポジトリ内にいること(ブランチとタグを自動取得するため)
インストール
npx add-skill https://github.com/ABCFed/claude-marketplace/tree/main/skills/jenkins-deploy
準備
# ~/.zshrc または ~/.bashrc を編集
export JENKINS_USER="your_jenkins_username"
export JENKINS_TOKEN="your_jenkins_api_token"
source ~/.zshrc
使用フロー
方式 1:二段階デプロイ(推奨、進捗状況を確認可能)
ステップ 1:ビルドのトリガー(JSON を返す)
python scripts/jenkins_deploy.py \
<project_name> \
--trigger-only-no-monitor \
--yes \
--params "<json>"
JSON の戻り値:
{
"queue_id": 161484,
"full_name": "abc-his/test/PcFeatureTest",
"project_name": "PcFeatureTest",
"build_url": "http://ci.abczs.cn/job/abc-his/job/test/job/PcFeatureTest/"
}
ステップ 2:バックグラウンド監視の開始
Claude Code(run_in_background=true を使用):
# Claude Code で Bash ツールを使用し、run_in_background=true を設定
python scripts/jenkins_deploy.py \
--monitor-only \
--full-name abc-his/test/PcFeatureTest \
--queue-id 161484 \
--display-name PcFeatureTest
その他の AI ツールまたはターミナル(nohup を使用):
nohup python scripts/jenkins_deploy.py \
--monitor-only \
--full-name abc-his/test/PcFeatureTest \
--queue-id 161484 \
--display-name PcFeatureTest > /dev/null 2>&1 &
重要な説明:
- 監視タスクはバックグラウンドタスクとして実行され、メインの会話/ターミナルをブロックしません
- Claude Code:進捗状況はバックグラウンドタスクの出力に表示されます
- その他のツール:
nohupを使用してバックグラウンド実行を実現し、ビルド完了後にシステム通知を受信します - ユーザーは他の操作を続行できます
監視出力の例:
📊 ビルドの監視を開始: PcFeatureTest
Queue ID: 161484
プロジェクト: abc-his/test/PcFeatureTest
タスクの実行を開始 (Build #11122)
📦 ビルド番号: #11122
⏳ ビルドの進捗状況を監視中...
キャンセルする必要がある場合は、"ビルド #11122 をキャンセル" と教えてください
⏳ [███████████░░░░░░░░░░░░░░░] 42% (125s)
...
✅ PcFeatureTest ビルドが成功しました!
パラメータの説明
--trigger-only-no-monitor モード(ビルドのトリガー)
| パラメータ | 必須 | 説明 |
|---|---|---|
project_name |
✓ | Jenkins プロジェクト名(例:PcFeatureTest) |
--trigger-only-no-monitor |
✓ | ビルドをトリガーするだけで、監視を開始せず、JSON を返します |
--yes |
✓ | 対話形式の確認をスキップします |
--params |
✓ | JSON 形式の完全なビルドパラメータ |
--monitor-only モード
| パラメータ | 必須 | 説明 |
|---|---|---|
--monitor-only |
✓ | バックグラウンド監視モード |
--full-name |
✓ | プロジェクトの完全なパス(例:abc-his/test/PcFeatureTest) |
--queue-id |
✓ | キュー ID |
--display-name |
✓ | プロジェクトの表示名(通知用) |
完全な例
テスト環境へのリリース
# ステップ 1: ビルドのトリガー
python scripts/jenkins_deploy.py \
PcFeatureTest \
--trigger-only-no-monitor \
--yes \
--params '{"repoTag":"pc-t2025.53.19","tapdId":"1167459320001118371","featureNo":"70"}'
# JSON の戻り値:
# {"queue_id": 161484, "full_name": "abc-his/test/PcFeatureTest", ...}
# ステップ 2: バックグラウンド監視の開始
# Claude Code: 直接実行(run_in_background=true が使用されます)
# その他のツール: nohup と & を追加してバックグラウンドに配置
python scripts/jenkins_deploy.py \
--monitor-only \
--full-name abc-his/test/PcFeatureTest \
--queue-id 161484 \
--display-name PcFeatureTest
開発環境へのリリース
python scripts/jenkins_deploy.py \
staticPcOwn \
--trigger-only-no-monitor \
--yes \
--params '{"repoBranch":"hotfix/xxx-1167459320001118371"}'
その他のコマンド
# すべてのプロジェクトをリスト表示
python scripts/jenkins_deploy.py --list --all
# 現在のリポジトリに関連するプロジェクトをリスト表示(自動フィルタリング)
python scripts/jenkins_deploy.py --list
# 指定されたビルド番号を停止
python scripts/jenkins_deploy.py --stop <build_number>
テストと検証
スキルを変更するたびに、次の手順で検証することをお勧めします。
クイックテストコマンド
# すべてのテストケースを自動的に実行
python scripts/run_tests.py
手動テスト
1. パラメータ検証(必須)
python scripts/jenkins_deploy.py \
PcFeatureTest \
--validate \
--params '{"repoTag":"pc-t2025.53.19","featureNo":"70"}'
2. 模擬実行(必須)
python scripts/jenkins_deploy.py \
PcFeatureTest \
--dry-run \
--params '{"repoTag":"pc-t2025.53.19","featureNo":"70"}'
詳細なテストケース:test-cases.md を参照してください
ワークフロー(推奨モード)
┌─────────────────────────────────────────────────────────────┐
│ 1. Claude Code: AskUserQuestion を使用してパラメータを収集 │
│ その他の AI ツール: 対話を通じてパラメータを収集 │
│ - プロジェクト名 │
│ - Git ブランチ / タグ │
│ - TAPD ID(ブランチ名から自動解析) │
│ - featureNo(プロジェクトにこのパラメータがある場合、**必須**) │
│ - その他のビルドパラメータ │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 2. スクリプトを --trigger-only モードで呼び出す │
│ - 完全な JSON パラメータを渡す │
│ - Jenkins API を直接トリガー │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 3. ビルド情報を返す │
│ - Queue ID │
│ - ビルドページの URL │
└─────────────────────────────────────────────────────────────┘
スマートパラメータ推論
| パラメータ | 推論ルール | 例 |
|---|---|---|
repoBranch |
現在の Git ブランチ | hotfix/盤点页面增加备注及搜索-1167459320001118371 |
repoTag |
最新の Git タグ | pc-f2026.05.48 |
tapdId / tapdid |
ブランチ名から自動解析(標準化されたフロー:ブランチ名の末尾の数字) | 1167459320001118371 |
execType |
tag=deploy がある場合は deploy、ない場合は build | tag がある → deploy |
featureNo |
必須(プロジェクトにこのパラメータがある場合)、ユーザーが明確に指定する必要がある | 1122044681001112866 |
envNo |
一部のプロジェクトで必要、ユーザーが明確に指定する必要がある | 001 |
TAPD ID の自動解析
標準化されたフローでは、ブランチ名の形式は feature/xxx-{TAPD_ID} または hotfix/xxx-{TAPD_ID} です。
ブランチ名:hotfix/盤点页面增加备注及搜索-1167459320001118371
└────────────────────┘
自動的に TAPD ID を抽出
手動で設定する必要はなく、リリース時に tapdId または tapdid パラメータに自動的に入力されます。
⚠️ 重要:
featureNo(機能番号):プロジェクトにこのパラメータがある場合は必須、ユーザーが提供する必要がありますenvNo(環境番号):一部のプロジェクトで必要、ユーザーが提供する必要があります
サポートされているパラメータタイプ
| パラメータタイプ | 説明 | 対話方式 |
|---|---|---|
StringParameterDefinition |
テキスト入力 | 直接入力するか、Enter キーを押してデフォルト値を使用します |
ChoiceParameterDefinition |
ドロップダウン選択 | オプションのリストを表示し、番号を入力して選択します |
PT_CHECKBOX |
チェックボックスの複数選択 | オプションのリストを表示し、カンマ区切りの番号を入力します |
BooleanParameterDefinition |
ブール値 | y/n を選択します |
WReadonlyStringParameterDefinition |
読み取り専用パラメータ | 自動的に使用され、変更できません |
一般的なプロジェクトタイプ
詳細なプロジェクトパラメータの参照:[projects.md](references
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
ABC Jenkins 发布技能
交互式触发 Jenkins 构建,支持智能参数推断(自动解析分支名、环境推断)和实时状态监控。
前置条件
JENKINS_USER环境变量已设置(Jenkins 用户名)JENKINS_TOKEN环境变量已设置(Jenkins API Token)- 当前在 Git 仓库中(用于自动获取分支和标签)
安装
npx add-skill https://github.com/ABCFed/claude-marketplace/tree/main/skills/jenkins-deploy
准备
# 编辑 ~/.zshrc 或 ~/.bashrc
export JENKINS_USER="your_jenkins_username"
export JENKINS_TOKEN="your_jenkins_api_token"
source ~/.zshrc
使用流程
方式一:两阶段部署(推荐,进度可见)
步骤 1:触发构建(返回 JSON)
python scripts/jenkins_deploy.py \
<project_name> \
--trigger-only-no-monitor \
--yes \
--params "<json>"
返回 JSON:
{
"queue_id": 161484,
"full_name": "abc-his/test/PcFeatureTest",
"project_name": "PcFeatureTest",
"build_url": "http://ci.abczs.cn/job/abc-his/job/test/job/PcFeatureTest/"
}
步骤 2:启动后台监控
Claude Code(使用 run_in_background=true):
# 在 Claude Code 中使用 Bash 工具,设置 run_in_background=true
python scripts/jenkins_deploy.py \
--monitor-only \
--full-name abc-his/test/PcFeatureTest \
--queue-id 161484 \
--display-name PcFeatureTest
其他 AI 工具或终端(使用 nohup):
nohup python scripts/jenkins_deploy.py \
--monitor-only \
--full-name abc-his/test/PcFeatureTest \
--queue-id 161484 \
--display-name PcFeatureTest > /dev/null 2>&1 &
重要说明:
- 监控任务作为后台任务运行,不阻塞主对话/终端
- Claude Code:进度显示在后台任务输出中
- 其他工具:使用
nohup实现后台运行,构建完成后会收到系统通知 - 用户可以继续进行其他操作
监控输出示例:
📊 开始监控构建: PcFeatureTest
Queue ID: 161484
项目: abc-his/test/PcFeatureTest
任务开始执行 (Build #11122)
📦 构建号: #11122
⏳ 监控构建进度...
需要取消时,请告诉我: "取消构建 #11122"
⏳ [███████████░░░░░░░░░░░░░░░] 42% (125s)
...
✅ PcFeatureTest 构建成功!
参数说明
--trigger-only-no-monitor 模式(触发构建)
| 参数 | 必填 | 说明 |
|---|---|---|
project_name |
✓ | Jenkins 项目名称(如 PcFeatureTest) |
--trigger-only-no-monitor |
✓ | 仅触发构建,不启动监控,返回 JSON |
--yes |
✓ | 跳过交互式确认 |
--params |
✓ | JSON 格式的完整构建参数 |
--monitor-only 模式
| 参数 | 必填 | 说明 |
|---|---|---|
--monitor-only |
✓ | 后台监控模式 |
--full-name |
✓ | 项目完整路径(如 abc-his/test/PcFeatureTest) |
--queue-id |
✓ | 队列 ID |
--display-name |
✓ | 项目显示名称(用于通知) |
完整示例
测试环境发布
# 步骤 1: 触发构建
python scripts/jenkins_deploy.py \
PcFeatureTest \
--trigger-only-no-monitor \
--yes \
--params '{"repoTag":"pc-t2025.53.19","tapdId":"1167459320001118371","featureNo":"70"}'
# 返回 JSON:
# {"queue_id": 161484, "full_name": "abc-his/test/PcFeatureTest", ...}
# 步骤 2: 启动后台监控
# Claude Code: 直接运行(会使用 run_in_background=true)
# 其他工具: 添加 nohup 和 & 放到后台
python scripts/jenkins_deploy.py \
--monitor-only \
--full-name abc-his/test/PcFeatureTest \
--queue-id 161484 \
--display-name PcFeatureTest
开发环境发布
python scripts/jenkins_deploy.py \
staticPcOwn \
--trigger-only-no-monitor \
--yes \
--params '{"repoBranch":"hotfix/xxx-1167459320001118371"}'
其他命令
# 列出所有项目
python scripts/jenkins_deploy.py --list --all
# 列出当前仓库相关的项目(自动过滤)
python scripts/jenkins_deploy.py --list
# 停止指定构建号
python scripts/jenkins_deploy.py --stop <build_number>
测试与验证
每次修改技能后,建议按以下流程验证:
快速测试命令
# 自动化运行所有测试用例
python scripts/run_tests.py
手动测试
1. 参数验证(必做)
python scripts/jenkins_deploy.py \
PcFeatureTest \
--validate \
--params '{"repoTag":"pc-t2025.53.19","featureNo":"70"}'
2. 模拟运行(必做)
python scripts/jenkins_deploy.py \
PcFeatureTest \
--dry-run \
--params '{"repoTag":"pc-t2025.53.19","featureNo":"70"}'
详细测试用例:参见 test-cases.md
工作流程(推荐模式)
┌─────────────────────────────────────────────────────────────┐
│ 1. Claude Code: 使用 AskUserQuestion 收集参数 │
│ 其他 AI 工具: 通过对话收集参数 │
│ - 项目名称 │
│ - Git 分支 / 标签 │
│ - TAPD ID(从分支名自动解析) │
│ - featureNo(如果项目有此参数,**必填**) │
│ - 其他构建参数 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 2. 调用脚本 --trigger-only 模式 │
│ - 传递完整的 JSON 参数 │
│ - 直接触发 Jenkins API │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 3. 返回构建信息 │
│ - Queue ID │
│ - 构建页面 URL │
└─────────────────────────────────────────────────────────────┘
智能参数推断
| 参数 | 推断规则 | 示例 |
|---|---|---|
repoBranch |
当前 Git 分支 | hotfix/盘点页面增加备注及搜索-1167459320001118371 |
repoTag |
最新 Git 标签 | pc-f2026.05.48 |
tapdId / tapdid |
从分支名自动解析(标准化流程:分支名末尾的数字) | 1167459320001118371 |
execType |
有 tag=deploy,无 tag=build | 有 tag → deploy |
featureNo |
必填(当项目有此参数时),需用户明确指定 | 1122044681001112866 |
envNo |
部分项目需要,需用户明确指定 | 001 |
TAPD ID 自动解析
标准化流程下,分支名格式为 feature/xxx-{TAPD_ID} 或 hotfix/xxx-{TAPD_ID}:
分支名:hotfix/盘点页面增加备注及搜索-1167459320001118371
└────────────────────┘
自动提取 TAPD ID
无需手动配置,发布时会自动填充到 tapdId 或 tapdid 参数。
⚠️ 重要:
featureNo(功能编号):当项目有此参数时必填,需由用户提供envNo(环境编号):部分项目需要,需由用户提供
支持的参数类型
| 参数类型 | 说明 | 交互方式 |
|---|---|---|
StringParameterDefinition |
文本输入 | 直接输入或回车使用默认值 |
ChoiceParameterDefinition |
下拉选择 | 显示选项列表,输入编号选择 |
PT_CHECKBOX |
复选框多选 | 显示选项列表,输入逗号分隔的编号 |
BooleanParameterDefinition |
布尔值 | y/n 选择 |
WReadonlyStringParameterDefinition |
只读参数 | 自动使用,不可修改 |
常见项目类型
详细项目参数参考:参见 projects.md
1. PcFeatureTest (测试环境发布)
用途:使用标签发布到测试环境
关键参数:
repoTag:发布标签(如pc-t2025.53.19)tapdId:TAPD 需求 ID(自动从分支名解析)featureNo:功能编号(必填),需用户提供buildEnv:固定为test
示例:
python scripts/jenkins_deploy.py \
PcFeatureTest \
--trigger-only \
--params '{"repoTag":"pc-f2026.05.48","tapdId":"1167459320001118371","featureNo":"1122044681001112866"}'
2. staticPcOwn (开发环境发布)
用途:使用分支发布到开发环境
关键参数:
repoBranch:发布分支(如hotfix/xxx-1167459320001118371)dockerTag:Docker 镜像标签(默认latest)buildEnv:固定为dev
示例:
python scripts/jenkins_deploy.py staticPcOwn
3. static-mf-deepseek (微服务发布)
用途:微服务项目发布,支持多区域部署
关键参数:
projectRootDir:项目子目录(如packages/mf-deepseek)deployZone:部署区域(复选框:primary/standby)repoBranch:发布分支
示例:
python scripts/jenkins_deploy.py static-mf-deepseek
缓存机制
缓存位置: scripts/cache/jobs.json
缓存策略:
- 首次运行:从 Jenkins API 获取 542 个项目并缓存
- 后续运行:直接使用缓存(速度快)
- 强制刷新:使用
--refresh参数
手动清除缓存:
rm scripts/cache/jobs.json
支持的 Jenkins 环境
| 环境 | Dev | Test |
|---|---|---|
| abc-his | ✓ | ✓ |
| abc-bis | ✓ | ✓ |
| abc-cooperation | ✓ | ✓ |
| abc-global | ✓ | ✓ |
| abc-oa | ✓ | ✓ |
| mira | ✓ | ✓ |
错误处理
| 场景 | 处理方式 |
|---|---|
| 未配置认证 | 提示设置 JENKINS_USER 和 JENKINS_TOKEN |
| 项目不存在 | 列出可用项目 |
| 缺少 featureNo | 如果项目有此参数,必须提示用户提供 |
| 构建失败 | 显示构建 URL 和日志链接 |
| 参数验证失败 | 提示正确格式 |
| 网络超时 | 提示检查网络连接 |
触发关键词
Jenkins、发布、部署、构建、Deploy、Build、CI/CD