deploy-release について
deploy-release は、release-please または手動の手順で GitHub リリースを作成するエージェントスキルです。リリース準備やバージョンタグに対応し、コンテナアプリのリリースではドラフトやプレリリースも選べます。
主な機能
- 01release-please または手動の手順を選択
- 02リリース設定と未処理のリリース PR を確認
- 03ノートを自動生成して GitHub リリースを作成
- 04ドラフトとプレリリースに対応
- 05release-please の設定を作成可能
活用シーン
- 01main からバージョン付きリリースを作成
- 02release-please の自動化と未処理 PR を確認
- 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 を使用しているか、手動リリースを使用しているかを確認します:
release-please-config.jsonが存在する場合は、release-please ワークフローを使用します- release-please の設定が存在しない場合は、手動リリースワークフローを使用します
ステップ 2a:release-please ワークフロー
release-please が設定されている場合:
- 最後のリリースタグ以降に Conventional Commits が存在することを確認します
- オープン中のリリース PR を確認します:
gh pr list --label "autorelease: pending" --json number,title,url - リリース PR が存在する場合は、そのステータスと URL を報告します
- リリース PR が存在しない場合は、release-please が Conventional Commits から PR を自動作成することを説明します
- リリースを実行するためにリリース PR をマージする方法を案内します
ステップ 2b:手動リリースワークフロー
release-please の設定が存在しない場合:
- VERSION 引数が semver 形式に準拠していることを検証します
- 作業ツリーがクリーンであることを確認します:
git status --porcelain - ブランチが main または master であることを確認します
- 次のコマンドでリリースを作成します:
gh release create v<VERSION> --title "v<VERSION>" --generate-notes --draftが渡された場合は、--draftフラグを追加します--prereleaseが渡された場合は、--prereleaseフラグを追加します
ステップ 3:release-please を設定する(要求された場合)
ユーザーが release-please の自動化設定を求めた場合:
- マニフェストリリースタイプで
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"} ] } } } - 現在のバージョンを指定して
.release-please-manifest.jsonを作成します:{ ".": "0.0.0" } - 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- コンテナイメージの構築と最適化
コメント
Markdown 対応