configure-argocd-automerge について
configure-argocd-automerge は、ArgoCD Image Updater のブランチから作成された PR の自動マージを設定するスキルです。GitHub Actions ワークフローを管理するチーム向けに、既存設定の確認や作成・更新を行います。
主な機能
- 01ArgoCD 自動マージワークフローの確認
- 02権限とブランチパターンの検証
- 03GitHub Actions ワークフローの作成・更新
- 04チェックのみのモード
- 05PAT とブランチ保護要件の説明
活用シーン
- 01Image Updater ブランチの自動マージ設定
- 02既存の自動マージワークフローの確認
- 03必要な権限を検証しながらワークフローを更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-argocd-automergeインストール後、Claude Code で/configure-argocd-automergeを入力して読み込まれたか確認します。
詳細
/configure:argocd-automerge
ArgoCD Image Updater のブランチから PR を自動的に作成し、マージするよう GitHub Actions ワークフローを設定します。
このスキルを使用するタイミング
| 次の場合にこのスキルを使用します... | 次の場合は別の方法を使用します... |
|---|---|
| ArgoCD Image Updater のブランチで自動マージを設定する | ArgoCD アプリケーション定義を設定する |
image-updater-** ブランチで自動マージが有効になっているか確認する | 一般的な GitHub Actions ワークフローを管理する(/configure:workflows) |
argocd-automerge.yml ワークフローをゼロから作成する | コンテナビルドを設定する(/configure:container) |
| 自動マージワークフローの PAT と権限を確認する | ブランチ保護ルールを手動で設定する |
| 既存の ArgoCD 自動マージワークフローを更新する | Kubernetes デプロイを設定する(/configure:skaffold) |
コンテキスト
- ワークフローディレクトリ: !
find . -maxdepth 1 -type d -name \'.github/workflows\' - 既存の自動マージワークフロー: !
find . -path '*/.github/workflows/*' -maxdepth 3 \( -name '*argocd*automerge*' -o -name '*automerge*argocd*' \) - Image Updater のブランチ: !
git branch -r --list 'origin/image-updater-*' - 自動マージワークフロー: !
find . -path '*/.github/workflows/*' -maxdepth 3 -name 'argocd-automerge.yml'
パラメーター
コマンド引数から解析します:
--check-only:修正を提案せずにステータスを報告します--fix:ワークフローを自動的に作成または更新します
実行
この ArgoCD 自動マージワークフローの設定を実行します:
ステップ 1:既存のワークフローを検出する
.github/workflows/ディレクトリがあるか確認します- 既存の ArgoCD 自動マージワークフローファイルを検索します
- いずれかのワークフローで
image-updater-**ブランチパターンが処理されているか確認します
ステップ 2:準拠状況を確認する
以下の基準に照らしてワークフローを検証します:
| 確認項目 | 基準 | 重大度 |
|---|---|---|
| ワークフローの存在 | argocd-automerge.yml | 欠落している場合は FAIL |
| checkout アクション | v6 | 古い場合は WARN |
| 権限 | contents: write, pull-requests: write | 欠落している場合は FAIL |
| ブランチパターン | image-updater-** | 異なる場合は WARN |
| 自動マージ | squash マージ | INFO |
ステップ 3:結果を報告する
ステータスレポートを出力します:
ArgoCD Auto-merge Workflow Status
======================================
Workflow: .github/workflows/argocd-automerge.yml
Status:
Workflow exists [PASS|FAIL]
checkout action [version] [PASS|WARN]
Permissions [explicit|missing] [PASS|FAIL]
Branch pattern [pattern] [PASS|WARN]
Auto-merge [strategy] [PASS|INFO]
Overall: [PASS|FAIL|WARN]
--check-only が指定されている場合は、ここで停止します。
ステップ 4:ワークフローを設定する(要求された場合)
--fix フラグが設定されている場合、またはユーザーが確認した場合は、標準テンプレートを使用して .github/workflows/argocd-automerge.yml を作成または更新します:
name: Auto-merge ArgoCD Image Updater branches
on:
push:
branches:
- 'image-updater-**'
permissions:
contents: write
pull-requests: write
jobs:
create-and-merge:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Create Pull Request
id: create-pr
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PR_URL=$(gh pr create \
--base main \
--head "${{ github.ref_name }}" \
--title "chore(deps): update container image" \
--body "Automated image update by argocd-image-updater.
Branch: \`${{ github.ref_name }}\`" \
2>&1) || true
# Check if PR already exists
if echo "$PR_URL" | grep -q "already exists"; then
PR_URL=$(gh pr view "${{ github.ref_name }}" --json url -q .url)
fi
echo "pr_url=$PR_URL" >> "$GITHUB_OUTPUT"
echo "Created/found PR: $PR_URL"
- name: Approve PR
env:
GH_TOKEN: ${{ secrets.AUTO_MERGE_PAT || secrets.GITHUB_TOKEN }}
run: gh pr review --approve "${{ github.ref_name }}"
continue-on-error: true
- name: Enable auto-merge
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh pr merge --auto --squash "${{ github.ref_name }}"
設定に関する注意事項
自己承認
GitHub は GITHUB_TOKEN を使ったワークフローによる自身の PR の承認を禁止しています。選択肢は次のとおりです:
| 方法 | 設定 | 備考 |
|---|---|---|
AUTO_MERGE_PAT | repo スコープの PAT を作成し、シークレットとして追加します | 完全自動化におすすめ |
| 承認を省略 | 承認ステップを削除します | 手動承認または CODEOWNERS のバイパスが必要です |
| ボットアカウント | 別のボットユーザーの PAT を使用します | エンタープライズ向けの方法 |
ブランチ保護
ブランチ保護で次の項目が許可されていることを確認してください:
- チェックが成功した場合の自動マージ
- ワークフローによるバイパス(CODEOWNERS を使用する場合)
カスタマイズ
| 設定 | デフォルト | 代替 |
|---|---|---|
| ベースブランチ | main | master、develop |
| マージ方式 | --squash | --merge、--rebase |
| PR タイトル | chore(deps): update container image | カスタム形式 |
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| ステータスをすばやく確認 | /configure:argocd-automerge --check-only |
| ワークフローを自動作成 | /configure:argocd-automerge --fix |
| Image Updater のブランチを一覧表示 | git branch -r --list 'origin/image-updater-*' |
| ワークフローの存在を確認 | find .github/workflows -name '*argocd*automerge*' 2>/dev/null |
フラグ
| フラグ | 説明 |
|---|---|
--check-only | 修正を提案せずにステータスを報告します |
--fix | ワークフローを自動的に作成または更新します |
関連項目
/configure:workflows- GitHub Actions CI/CD ワークフロー/configure:container- コンテナインフラストラクチャci-workflowsスキル - ワークフローパターン
コメント
Markdown 対応