ns-gitlab-ci-generator について
バックエンドとフロントエンドを含む SaaS プロジェクト向けに、`.gitlab-ci.yml` を作成・調整するスキルです。リポジトリの構成やテスト、ブランチ別のデプロイルールに合わせてテンプレートを適用します。
主な機能
- 01CI テンプレートのコピー
- 02E2E テストディレクトリの調整
- 03イメージとテストコマンドの適合
- 04ブランチ別デプロイルールの設定
- 05YAML とジョブ構成の確認
活用シーン
- 01SaaS リポジトリの GitLab CI 作成
- 02ブランチ別テストとデプロイの設定
- 03プロジェクト構成に合わせた CI 調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nextstage-brasil/ skills --skill ns-gitlab-ci-generatorインストール後、Claude Code で/ns-gitlab-ci-generatorを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonreferences/templates/gitlab-ci.template.yml
詳細
GitLab CI ジェネレーター
バックエンドとフロントエンドの SaaS 構成向けに .gitlab-ci.yml を生成します。
セッションの開始
.nextstage-harness/rules/infra-rules.mdc、backend-tests-rules.mdc、e2e-tests-rules.mdc がある場合は読み込みます。docker-compose.yml を読みます。
使用する場面
.gitlab-ci.ymlを作成または調整するproduct_classが saas または intelligent_saas(バックエンドとフロントエンドが必須)- ブランチベースのテスト/ビルド/デプロイ
対象外
agent_runtimeのみのパイプライン- テンプレートの契約範囲を超えるクラウドのプロビジョニング
入力
- 対象ブランチ(最低限:develop、homolog、main)
- E2E フォルダー名(
testes-cypress、tests-e2e、またはfrontend/cypress)
ワークフロー
A — ベースラインをコピーする
references/templates/gitlab-ci.template.yml を .gitlab-ci.yml にコピーします。
パスはリポジトリ相対です(backend/、frontend/)。
B — 必須の調整
| 項目 | 操作 |
|---|---|
| E2E フォルダー | changes: とジョブの cd で製品フォルダーに合わせます |
| PHP イメージ | バックエンドの Dockerfile に合わせます |
| テストコマンド | composer.json/package.json に合わせます |
| ロックファイル | キャッシュキーで yarn.lock と package-lock.json のどちらを使うか合わせます |
| デプロイブランチ | main/homolog/develop 以外の場合は正規表現を調整します |
| E2E を無効化する場合 | デプロイの needs から E2E ジョブを削除するか、RUN_REMOTE_E2E=false と記載します |
別の製品の CI ファイルをコピーしないでください。このテンプレートのみを使用してください。
C — GitLab CI 変数
任意で docs/context/ci-cd-notes.md に次の内容を記載します。
ENV_BACKEND、ENV_FRONTEND、テスト用 DB 変数、RUN_REMOTE_E2E、GCP キー — 名前のみを記載し、シークレット値は記載しないでください
D — 検証
YAML をリントし、ジョブがリポジトリの構成に合っていることを確認します。
参照資料
| ファイル | 使用場面 |
|---|---|
references/templates/gitlab-ci.template.yml | ベースラインのパイプライン |
関連スキル
ns-e2e-tests— E2E フォルダーの規則ns-spec-drivenreferences/e2e-test-task-generator.md— E2E の対象範囲を計画する
コメント
Markdown 対応