github-actions-workflows について
GitHub Actions の CI/CD ワークフローの設計、セキュリティ、最適化、トラブルシューティングを支援するスキルです。パイプラインを構築・保守する開発者向けに、マトリックスビルドや再利用可能なワークフロー、キャッシュ、デプロイ制御を扱います。
主な機能
- 01マトリックスビルドと再利用可能なワークフロー
- 02シークレットと権限の設定指針
- 03依存関係とビルド成果物のキャッシュ
- 04デプロイゲートと並行実行制御
- 05ワークフローのデバッグと保守
活用シーン
- 01GitHub Actions の CI/CD パイプライン構築
- 02複数環境でのテスト
- 03遅い実行や重複実行の削減
- 04デプロイワークフローの保護
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill github-actions-workflowsインストール後、Claude Code で/github-actions-workflowsを入力して読み込まれたか確認します。
同梱ファイルreferences/workflow-patterns.md
詳細
GitHub Actions ワークフロー
マトリックスビルド、再利用可能なワークフロー、キャッシュ、デプロイの自動化に関するパターンを活用し、信頼性、安全性、パフォーマンスに優れた GitHub Actions CI/CD パイプラインを設計するための専門的なガイダンスです。
このスキルを使用する場面
- GitHub Actions を使って CI/CD パイプラインをゼロから構築するとき
- 遅い、またはコストの高い GitHub Actions ワークフローを最適化するとき
- 複数環境のテスト向けにマトリックスビルドを実装するとき
- DRY なパイプラインを実現するため、再利用可能なワークフローとコンポジットアクションを作成するとき
- 環境間でシークレットを安全に管理するとき
- 依存関係やビルド成果物を再利用するキャッシュを設定するとき
- ステージング環境と本番環境の承認ゲートを備えたデプロイワークフローを設定するとき
- 失敗する、または不安定なワークフロー実行をデバッグするとき
- 重複実行を防ぐための同時実行制御を実装するとき
クイックリファレンス
| タスク | リファレンスを読み込む |
|---|---|
| マトリックスビルド、再利用可能なワークフロー、キャッシュ、デプロイ、同時実行 | skills/github-actions-workflows/references/workflow-patterns.md |
基本原則
- ジョブを構造化する:明確に分離されたジョブにワークフローを分割し、依存関係を定義します
- DRY な設定:重複を避けるため、再利用可能なワークフローとコンポジットアクションを使用します
- セキュリティを最優先する:GitHub シークレット、OIDC、必要最小限の権限を使用します
- 積極的にキャッシュする:依存関係、ビルド出力、テスト用フィクスチャをキャッシュします
- トリガーを慎重に設定する:不要なワークフロー実行を避けるよう、イベントトリガーを設定します
- ワークフローを文書化する:分かりにくい YAML 設定には説明コメントを追加します
ワークフロー
1. 設計
YAML を書く前に、パイプラインの構成を計画します。
- トリガーイベント(push、pull_request、schedule、workflow_dispatch)を特定します
- ジョブの依存関係と、並列実行できるジョブを整理します
- キャッシュできる対象(依存関係、ビルド出力)を特定します
- 環境の昇格手順(dev、staging、production)を計画します
2. 実装
パイプラインを段階的に構築します。
- 最小限のワークフローから始め、徐々に複雑さを加えます
- 複数環境のテストにはマトリックスビルドを使用します
- 共通パターンは再利用可能なワークフローに切り出します
- 環境保護を設定してシークレット管理を構成します
3. 最適化
実行時間とコストを削減します。
- ワークフローの所要時間を分析し、ボトルネックを特定します
- 依存関係とビルド成果物のキャッシュを追加します
- 同時実行制御を使って、重複する実行をキャンセルします
- 影響を受けないワークフローをスキップするため、パスフィルターを設定します
4. メンテナンス
ワークフローを継続的に健全な状態に保ちます。
- セキュリティのため、アクションのバージョンを特定の SHA に固定します
- アクションを定期的に見直し、更新します
- ワークフローの実行時間の推移とコストを監視します
- マージ前にワークフローの変更を相互レビューします
よくある間違い
- SHA またはバージョンタグに固定せず、
actions/checkout@mainを使用する permissionsブロックを設定しない(デフォルトでは過度に広い読み書き権限が付与されます)- パッケージマネージャーのキャッシュディレクトリではなく、node_modules をキャッシュする
concurrencyグループを設定しないため、デプロイが重複する- GitHub Secrets を使用せず、ワークフローファイルにシークレットを直接記述する
- パスフィルターを使わず、すべての push でテストスイート全体を実行する
- リポジトリ間で CI ロジックを共有するために
workflow_callを使用しない
コメント
Markdown 対応