mcpField
C
concourse-ci

concourse-ci

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

concourse-ci について

Concourse v8.0 以降のパイプライン作成、リファクタリング、トラブルシューティングを支援するスキルです。設定ガイド、移行情報、注意点、サンプル、構文検証スクリプトをまとめています。

主な機能

  1. 01パイプライン作成・リファクタリングの指針
  2. 02リソースとジョブの設定
  3. 03コンテナイメージのビルドパターン
  4. 04旧式パターンからの移行情報
  5. 05サンプルと構文検証スクリプト

活用シーン

  1. 01Concourse パイプラインの作成・変更
  2. 02リソースチェックやビルドの障害調査
  3. 03旧式パイプラインパターンの移行
  4. 04デプロイ前のパイプライン YAML 検証

インストール

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

$npx skills add https://github.com/netresearch/concourse-ci-skill --skill concourse-ci

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

同梱ファイル

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

checkpoints.yaml
examples/
basic-pipeline.yml
docker-build.yml
modern-ci-cd.yml
multi-branch.yml
vars-template.yml
references/
best-practices.md
core-concepts.md
pipeline-syntax.md
resource-types-catalog.md
resources-guide.md
scripts/
validate-pipeline.sh

詳細

Concourse CI パイプライン開発

Concourse CI パイプライン(v8.0+)の作成、リファクタリング、最適化に関する専門的なガイダンスです。

使用する場面

  • Concourse パイプラインの作成または変更
  • リソース(git、registry-image、カスタムタイプ)の設定
  • oci-build-task を使用したコンテナーイメージのビルド
  • リソースのチェック失敗やビルドの問題のトラブルシューティング
  • レガシーパターン(docker-image、重複ジョブ)からの移行

クイックリファレンス

タスク最新の方法(推奨)レガシーな方法(非推奨)
イメージのビルドoci-build-task + registry-imagedocker-image リソース
複数環境へのデプロイacross ステップ修飾子環境ごとにジョブを複製
動的なパイプラインset_pipeline + インスタンス化されたパイプラインパイプラインを手動で複製
通知記号UTF-8 文字(例:チェックマークには \u2714、X には \u274c)HTML エンティティ(例:✓、✗)
リソースのスタイル設定常に icon: プロパティを使用アイコンなし

主な概念

パイプラインは、リソース(外部のバージョン管理された成果物)、ジョブ(一連のステップ)、および任意の グループ(UI 上の整理単位)で構成されます。すべての実行はコンテナー内で行われます。

主なステップタイプ:get、put、task、set_pipeline、in_parallel、do、try、load_var。ジョブフック:on_success、on_failure、on_error、on_abort、ensure。注意:on_failure(ゼロ以外の終了コード)と on_error(インフラストラクチャのクラッシュ/OOM)は異なるため、両方に対応してください。fly execute を使用すると、タスクをローカルでテストできます。

ステップタイプの表、ライフサイクルフック、fly CLI の基本については、references/core-concepts.md を参照してください。

重大な注意点

  1. 強制プッシュ後の Git タグ検出 -- 正規表現のドットをエスケープし、clean_tags: true を有効にして、読み取り用と書き込み用のリソースを分けます。fly -t T check-resource -r pipeline/resource で強制的に再チェックします。references/resources-guide.md を参照してください。
  2. registry_mirror の形式の不一致 -- registry-image はオブジェクト(host: mirror)を、docker-image は URL 文字列を想定します。CONCOURSE_BASE_RESOURCE_TYPE_DEFAULTS には、それぞれの形式を指定してください。references/resources-guide.md を参照してください。
  3. GitLab Container Registry の JWT 認証 -- JWT エンドポイントはレジストリホストではなく、GitLab ホスト上にあります。Www-Authenticate ヘッダーから特定してください。references/resources-guide.md を参照してください。
  4. git push --mirror とデフォルトブランチ -- 対象リポジトリのデフォルトブランチは、上流リポジトリに存在している必要があります。存在しない場合、pre-receive フックがプッシュを「pre-receive hook declined」として拒否します。最初のミラープッシュより前に設定してください。

参考資料

  • references/pipeline-syntax.md -- パイプライン、ジョブ、リソースの完全な YAML スキーマ
  • references/core-concepts.md -- ステップタイプ、ライフサイクルフック、fly CLI の基本
  • references/resources-guide.md -- Git リソース、registry-image、docker-image からの移行、注意点の詳細
  • references/best-practices.md -- 最適化、トラブルシューティング、通知、デプロイパターン
  • references/resource-types-catalog.md -- 利用可能なリソースタイプ(Ansible、Terraform など)
例

examples/ に実際に動作する例があります:

  • basic-pipeline.yml -- バージョン管理を含むビルド・テスト・デプロイ
  • modern-ci-cd.yml -- oci-build-task、across、build_log_retention
  • multi-branch.yml -- set_pipeline を使った動的なブランチパイプライン
  • docker-build.yml -- コンテナーイメージのビルドとプッシュ
  • vars-template.yml -- 変数ファイルの整理
検証

デプロイ前に scripts/validate-pipeline.sh を使用して、パイプラインの構文を確認してください。

コメント