mcpField
B
building-cicd-pipelines

building-cicd-pipelines

github.com/jeremylongshoreクラウド・DevOps2.9k46 回インストール2 日前に更新
リポジトリ

building-cicd-pipelines について

ビルドとデプロイを自動化したい開発者向けのスキルです。GitHub Actions、GitLab CI、Jenkins、CircleCI、Azure DevOps の多段階構成を生成し、テストやセキュリティスキャン、デプロイ承認、ロールバックを扱います。

主な機能

  1. 01複数 CI/CD プラットフォームの設定生成
  2. 02テスト、ビルド、デプロイ段階の定義
  3. 03依存関係キャッシュとマトリックスビルド
  4. 04シークレット参照と本番承認の設定
  5. 05パイプライン構文の検証

活用シーン

  1. 01アプリケーションの CI/CD パイプライン作成
  2. 02複数ランタイムでのマトリックステスト設定
  3. 03本番デプロイへの承認とヘルスチェック後のロールバック追加

インストール

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

$npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill building-cicd-pipelines

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
README.md
references/
README.md
scripts/
README.md

詳細

CI/CD パイプラインの構築

現状

!ls .github/workflows/*.yml .gitlab-ci.yml Jenkinsfile .circleci/config.yml 2>/dev/null || echo 'No CI/CD config found'

概要

GitHub Actions、GitLab CI、Jenkins、CircleCI、Azure DevOps 向けの CI/CD パイプライン構成を生成します。リンティング、テスト、コンテナイメージのビルド、セキュリティスキャン、適切な承認ゲートとロールバックの仕組みを備えたステージング/本番環境へのデプロイまでを網羅する、複数ステージのワークフローを作成します。

前提条件

  • 対応プラットフォーム(GitHub、GitLab、Bitbucket、Azure DevOps)でホストされている Git リポジトリ
  • イメージをビルドする場合は、コンテナランタイム(Docker)
  • パイプラインのシークレットとして設定された、デプロイ先環境の認証情報
  • ヘッドレスで実行できるテストスイート(npm test、pytest、go test など)
  • ブランチ戦略(トランクベース、GitFlow、環境ブランチ)の理解

手順

  1. 既存の CI/CD 構成ファイル(.github/workflows/、.gitlab-ci.yml、Jenkinsfile、.circleci/config.yml)をプロジェクト内で検索します
  2. アプリケーションスタックを特定します:言語、フレームワーク、テストランナー、パッケージマネージャー、デプロイ先
  3. パイプラインのステージを定義します:lint -> test -> build -> security-scan -> deploy-staging -> integration-test -> deploy-production
  4. 適切なトリガー(main へのプッシュ、PR イベント、タグ)を設定したパイプライン構成ファイルを生成します
  5. 依存関係(node_modules、.pip-cache、Go モジュール)をキャッシュして、ビルド時間を短縮します
  6. 必要に応じて、複数の言語バージョンや OS ターゲット向けのマトリックスビルドを設定します
  7. デプロイ認証情報、コンテナレジストリのトークン、API キーをシークレット参照として追加します(ハードコードしないでください)
  8. 本番環境への手動承認や、ヘルスチェック失敗時の自動ロールバックなど、デプロイの承認ゲートを実装します
  9. ビルド結果を示すステータスバッジと通知(Slack、メール)を追加します
  10. プラットフォーム固有のツール(actionlint、gitlab-ci-lint)を使用してパイプラインの構文を検証します

出力

  • パイプライン構成ファイル(.github/workflows/*.yml、.gitlab-ci.yml、Jenkinsfile)
  • コンテナビルド用の Dockerfile(マルチステージ、最小限のベースイメージ)
  • パイプラインから参照されるデプロイスクリプトまたは Kubernetes マニフェスト
  • ステージング環境と本番環境用の環境別変数ファイル

エラー処理

エラー原因解決策
Pipeline triggered but no jobs runトリガー条件(パス、ブランチ)が一致していませんon:/only:/rules: のフィルターを確認し、ブランチ名を検証します
Docker build failed: layer cache missキャッシュキーが変更されたか、キャッシュの有効期限が切れていますコンテンツベースのキャッシュキー(hashFiles('**/package-lock.json'))を使用し、キャッシュバックエンドを確認します
Secret not foundシークレット名が一致していないか、パイプライン設定で指定されていませんリポジトリ/プロジェクト設定で、シークレット名が完全一致していること(大文字と小文字を区別)を確認します
Deploy failed: unauthorizedデプロイ認証情報が期限切れ、または正しくありません認証情報をローテーションし、パイプラインのシークレットを更新して、IAM ロール/サービスアカウントの権限を確認します
Tests pass locally but fail in CI環境の違い(OS、Node のバージョン、タイムゾーン)パイプライン構成でランタイムのバージョンを固定し、matrix を使って複数の環境でテストします

例

  • 「Node.js アプリ向けの GitHub Actions ワークフローを作成してください。ESLint でリンティングし、Jest でテストを実行し、Docker イメージをビルドして ECR にプッシュし、PR のマージ時に EKS のステージング環境へデプロイします。」
  • 「並列テストジョブ、SAST スキャン、本番環境への手動デプロイ承認ゲートを備えた GitLab CI パイプラインを生成してください。」
  • 「Docker エージェントで Python テストを実行し、カバレッジを SonarQube に公開して、Terraform 経由でデプロイする Jenkins パイプラインを構築してください。」

リソース

コメント