ci-cdlisted
Install: claude install-skill iamtatsuki05/dotfiles
# CI/CDスキル
CI/CDパイプラインの設計、実装、デバッグ、最適化を効率的に行うためのガイド。
## 実装前の必須確認
1. **既存のCI/CD設定を確認**: `.github/workflows/`, `.gitlab-ci.yml`, `.circleci/`, `Jenkinsfile`
2. **プロジェクト構成を確認**: 言語、フレームワーク、ビルドツール、テストフレームワーク
3. **デプロイ先を確認**: クラウドプロバイダー、コンテナレジストリ、Kubernetes等
4. **本番影響を確認**: push / pull_request / schedule / workflow_dispatch のどれで動くか、deploy job が本番に触れるか
5. **権限とsecretを確認**: `permissions` は最小権限にし、secret 名は参照だけに留め、値を出力しない
6. **既存workflowの意図を確認**: 無関係な job、branch 条件、cache key、artifact retention を変更しない
## プラットフォーム別クイックスタート
### GitHub Actions
完全なワークフロー例(lint → test → build → deploy)は [references/github-actions.md](references/github-actions.md) の「ワークフロー構文」を参照。書くときの注意:
- action のバージョン(`actions/checkout@v4` など)は執筆時点のもの。major は各 action の最新安定版を確認して選び、既存 repo では周囲のピン方針(タグ / commit SHA)に合わせる。
### 他プラットフォームとの差分
GitHub Actions の骨子(trigger → job → step)を基準に、主な対応関係だけ押さえる。
- **GitLab CI**(`.gitlab-ci.yml`): job を `stages` で順序付けし、step の代わりに `image` + `script` を書く。action の代わりに `include` / `extends` でテンプレートを再利用し、cache / artifacts はキーワードで宣言する。完全な YAML 例と rules・親子パイプライン等は [references/gitlab-ci.md](references/gitlab-ci.md) 参照。
- **CircleCI**(`.circleci/config.yml`): 再利用単位は orbs。`jobs` を `workflows` で組み合わせ、依存は `requires` で宣言する。実行環境は `docker` / `machine` / `macos` の executor で指定する。最小構成例は [references/circleci.md](references/circleci.md) 参照。
## ベストプラクティス
- **キャッシュ**: `actions/setup-node` 等の built-in cache(`cache: 'npm'`)を優先する。`actions/cache` を直接使う場合は lockfile の `hashFiles()` を key にし、`restore-keys`