mcpField
G
gitlab-cicd-pipeline

gitlab-cicd-pipeline

github.com/aj-geddesクラウド・DevOps373666 回インストール34 週間前に更新
リポジトリ

gitlab-cicd-pipeline について

GitLab Runner とコンテナー実行を使い、ビルド、テスト、デプロイを自動化する GitLab CI/CD パイプライン作成スキルです。設定、キャッシュ、Runner、複数プロジェクトのフロー、Kubernetes へのデプロイを扱います。

主な機能

  1. 01複数ステージのパイプライン設計
  2. 02GitLab Runner の設定
  3. 03依存関係と Docker レイヤーのキャッシュ
  4. 04複数プロジェクトのパイプラインガイド
  5. 05Kubernetes デプロイガイド

活用シーン

  1. 01GitLab リポジトリの CI/CD 設定
  2. 02複数ステージのパイプライン構築
  3. 03アプリケーションの Kubernetes へのデプロイ
  4. 04依存関係と Docker レイヤーキャッシュの最適化

インストール

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill gitlab-cicd-pipeline

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

同梱ファイル

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

references/
complete-pipeline-configuration.md
docker-layer-caching-optimization.md
gitlab-runner-configuration.md
kubernetes-deployment.md
multi-project-pipeline.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

詳細

GitLab CI/CD パイプライン

目次

概要

GitLab Runner インフラストラクチャとコンテナー実行を使用して、ビルド、テスト、デプロイを自動化する包括的な GitLab CI/CD パイプラインを作成します。

使用する場面

  • GitLab リポジトリの CI/CD セットアップ
  • 複数ステージのビルドパイプライン
  • Docker レジストリとの連携
  • Kubernetes へのデプロイ
  • レビューアプリのデプロイ
  • キャッシュの最適化
  • 依存関係の管理

クイックスタート

最小限の動作例:

# .gitlab-ci.yml
image: node:18-alpine

variables:
  DOCKER_DRIVER: overlay2
  FF_USE_FASTZIP: "true"

stages:
  - lint
  - test
  - build
  - security
  - deploy-review
  - deploy-prod

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
    - .npm/

lint:
  stage: lint
  script:
    - npm install
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください:

ガイド内容
完全なパイプライン構成完全なパイプライン構成
GitLab Runner の構成GitLab Runner の構成
Docker レイヤーキャッシュの最適化Docker レイヤーキャッシュの最適化
マルチプロジェクトパイプラインマルチプロジェクトパイプライン
Kubernetes へのデプロイKubernetes へのデプロイ、パフォーマンステストのステージ、セマンティックバージョニングを使ったリリースパイプライン

ベストプラクティス

✅ 推奨事項
  • ステージを使ってパイプラインの流れを整理します
  • 依存関係にキャッシュを実装します
  • テストレポートにアーティファクトを使用します
  • 適切なキャッシュキーを設定します
  • only と except を使って条件付き実行を実装します
  • ジョブの依存関係には needs: を使用します
  • expire_in を使ってアーティファクトをクリーンアップします
  • 一貫性のある環境には Docker を使用します
  • セキュリティスキャンのステージを実装します
  • ジョブのリソース制限を設定します
  • マージリクエストパイプラインを使用します
❌ 避けること
  • 並列実行できるテストを直列に実行しないでください
  • 不要なものまでキャッシュしないでください
  • 大きなアーティファクトを無期限に残さないでください
  • 設定ファイルにシークレットを保存しないでください
  • 必要なく Docker を特権モードで実行しないでください
  • セキュリティスキャンを省略しないでください
  • パイプラインの失敗を無視しないでください
  • 適切な制御なしに only: [main] を使用しないでください

コメント