mcpField
D
deploy-release

deploy-release

github.com/laurigatesクラウド・DevOps5955 回インストール1 日前に更新
リポジトリ

deploy-release について

deploy-release は、release-please または手動の手順で GitHub リリースを作成するエージェントスキルです。リリース準備やバージョンタグに対応し、コンテナアプリのリリースではドラフトやプレリリースも選べます。

主な機能

  1. 01release-please または手動の手順を選択
  2. 02リリース設定と未処理のリリース PR を確認
  3. 03ノートを自動生成して GitHub リリースを作成
  4. 04ドラフトとプレリリースに対応
  5. 05release-please の設定を作成可能

活用シーン

  1. 01main からバージョン付きリリースを作成
  2. 02release-please の自動化と未処理 PR を確認
  3. 03GitHub でドラフトまたはプレリリースを公開

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/laurigates/claude-plugins --skill deploy-release

インストール後、Claude Code で/deploy-releaseを入力して読み込まれたか確認します。

詳細

リリース作成コマンド

release-please による自動化、またはコンテナ化されたアプリケーションの手動リリースワークフローを使用して、GitHub リリースを作成します。

このスキルを使用するタイミング

次の場合はこのスキルを使用します…次の場合は deploy-handoff を使用します…
main から新しいリリースを作成し、バージョンにタグを付けるすでにデプロイされたサービスについて、別の開発者やクライアント向けにドキュメントを作成する
release-please の自動化とマニフェストを設定または監査するデプロイ済みのリソース用にアクセス URL、モニタリングリンク、オンボーディングチェックリストを作成する
手動で GitHub リリース、ドラフト、またはプレリリースを公開するバージョンを作成するのではなく、チケット向けの引き継ぎ文を作成する
コンテナ化されたリリースパイプラインのバージョンタグ側を進めるコンテナイメージ自体をビルドまたは強化する(container-development を使用してください)

コンテキスト

  • Git リモート: !git remote -v
  • ブランチ: !git branch --show-current
  • 最近のタグ: !git tag --sort=-v:refname -l 'v*' --format='%(refname:short)' -n5
  • 最後のリリースコミット: !git log --oneline --max-count=5
  • リリース設定: !find . -maxdepth 1 -name 'release-please-config.json'
  • マニフェスト: !find . -maxdepth 1 -name '.release-please-manifest.json'
  • 変更履歴: !find . -maxdepth 1 -name 'CHANGELOG.md'

パラメーター

$ARGUMENTS から解析します:

  • $1(VERSION):セマンティックバージョン文字列(例:1.2.0、v2.0.0-rc.1)
  • --draft:ドラフトとしてリリースを作成します(公開されません)
  • --prerelease:プレリリースとして設定します

実行

次のリリースワークフローを実行します:

ステップ 1:リリース戦略を決定する

プロジェクトが release-please を使用しているか、手動リリースを使用しているかを確認します:

  1. release-please-config.json が存在する場合は、release-please ワークフローを使用します
  2. release-please の設定が存在しない場合は、手動リリースワークフローを使用します
ステップ 2a:release-please ワークフロー

release-please が設定されている場合:

  1. 最後のリリースタグ以降に Conventional Commits が存在することを確認します
  2. オープン中のリリース PR を確認します:gh pr list --label "autorelease: pending" --json number,title,url
  3. リリース PR が存在する場合は、そのステータスと URL を報告します
  4. リリース PR が存在しない場合は、release-please が Conventional Commits から PR を自動作成することを説明します
  5. リリースを実行するためにリリース PR をマージする方法を案内します
ステップ 2b:手動リリースワークフロー

release-please の設定が存在しない場合:

  1. VERSION 引数が semver 形式に準拠していることを検証します
  2. 作業ツリーがクリーンであることを確認します:git status --porcelain
  3. ブランチが main または master であることを確認します
  4. 次のコマンドでリリースを作成します:
    gh release create v<VERSION> --title "v<VERSION>" --generate-notes
    
  5. --draft が渡された場合は、--draft フラグを追加します
  6. --prerelease が渡された場合は、--prerelease フラグを追加します
ステップ 3:release-please を設定する(要求された場合)

ユーザーが release-please の自動化設定を求めた場合:

  1. マニフェストリリースタイプで release-please-config.json を作成します:
    {
      "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
      "release-type": "simple",
      "packages": {
        ".": {
          "component": "<project-name>",
          "extra-files": [
            {"type": "json", "path": "package.json", "jsonpath": "$.version"}
          ],
          "changelog-sections": [
            {"type": "feat", "section": "Features"},
            {"type": "fix", "section": "Bug Fixes"},
            {"type": "perf", "section": "Performance"},
            {"type": "refactor", "section": "Code Refactoring"},
            {"type": "docs", "section": "Documentation"}
          ]
        }
      }
    }
    
  2. 現在のバージョンを指定して .release-please-manifest.json を作成します:
    {
      ".": "0.0.0"
    }
    
  3. release-please の GitHub Action ワークフローを追加することを推奨します
ステップ 4:結果を報告する

次の内容を含む概要を出力します:

  • リリースのバージョンと URL(作成された場合)
  • リリース PR のステータス(release-please の場合)
  • ユーザー向けの次のステップ

release-please の GitHub Action

自動化に推奨されるワークフロー:

name: Release
on:
  push:
    branches: [main]

permissions:
  contents: write
  pull-requests: write

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: googleapis/release-please-action@v4
        with:
          config-file: release-please-config.json
          manifest-file: .release-please-manifest.json

エージェント向けの最適化

コンテキストコマンド
最近のタグを一覧表示するgit tag --sort=-v:refname -l 'v*' -n5
リリース PR を確認するgh pr list --label "autorelease: pending" --json number,title,url
最新のリリースgh release view --json tagName,publishedAt,url
リリースを作成するgh release create v1.0.0 --generate-notes
ドラフトを作成するgh release create v1.0.0 --draft --generate-notes
プレリリースを作成するgh release create v1.0.0-rc.1 --prerelease --generate-notes
すべてのリリースを一覧表示するgh release list --json tagName,isLatest,isDraft,isPrerelease
タグ以降のコミットgit log v1.0.0..HEAD --oneline

クイックリファレンス

フラグ説明
--draftドラフトリリースとして作成します(一般には公開されません)
--prereleaseプレリリースバージョンとしてマークします
--generate-notesコミットからリリースノートを自動生成します
--notes-file FILEファイルの内容をリリースノートとして使用します
--target BRANCHリリースタグの対象ブランチ

関連スキル

  • deploy-handoff - デプロイ引き継ぎドキュメントを生成します
  • container-development - コンテナイメージの構築と最適化

コメント