Skills: デプロイと CI/CD スキル

最終更新:2026-08-31

デプロイは失敗の代償が最も大きい操作——Skills が各ステップをプロセスに固定化し、デプロイを呼吸のように確実にします。


1. デプロイ Skill のアーキテクチャ

(1) デプロイフローの分解

TEXT 📖 参照専用
デプロイフロー
├── 事前チェック
│   ├── コードはコミット済みか?
│   ├── テストは通過しているか?
│   └── 環境変数は準備できているか?
├── ビルド段階
│   ├── 依存関係のインストール
│   ├── コンパイル/パッケージング
│   └── ビルド成果物の生成
├── デプロイ段階
│   ├── 現バージョンのバックアップ
│   ├── 新バージョンのデプロイ
│   └── ヘルスチェック
└── 事後検証
    ├── 機能スモークテスト
    ├── モニタリングメトリクスの確認
    └── チームへの通知

(2) 環境管理

環境 用途 リスクレベル デプロイ戦略
development ローカル開発 🟢 手動デプロイ
staging リリース前検証 🟡 自動デプロイ+手動検証
production 本番サービス 🔴 自動デプロイ+承認+ロールバック

2. CI/CD 連携

(1) 設定ファイルの検出

MARKDOWN
## CI/CD プラットフォームの自動検出
- .github/workflows/ を検出 → GitHub Actions
- .gitlab-ci.yml を検出 → GitLab CI
- Jenkinsfile を検出 → Jenkins
- .circleci/ を検出 → CircleCI

(2) パイプライン設計

YAML
# GitHub Actions の例
name: Deploy
on:
  push:
    branches: [main]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm test
  deploy:
    needs: test
    steps:
      - run: npm run build
      - run: npm run deploy

(3) Skill の連携ポイント

TEXT 📖 参照専用
CI/CD における Skill の役割:
├── ローカル開発中:事前チェック、ビルド検証
├── PR 作成時:自動レビュー、テスト実行
├── マージ前:フルテストスイート、セキュリティスキャン
└── デプロイ後:ヘルスチェック、モニタリング検証

3. ロールバック戦略

(1) 自動ロールバックの条件

MARKDOWN
## 自動ロールバックのトリガー条件
- ヘルスチェックが3回連続で失敗
- エラー率が5%を超過
- レスポンスタイムが2秒を超過(P99)
- メモリ使用率が90%を超過

(2) ロールバックフロー

TEXT 📖 参照専用
ロールバックフロー
1. 異常メトリクスを検出
2. チームに通知
3. Bash でロールバックコマンドを実行
4. ロールバック後のヘルスチェックを検証
5. ロールバックレポートを出力

(3) バージョン管理

BASH
# デプロイバージョンの記録
git tag -a v1.2.3 -m "Deploy to production"
git push origin v1.2.3

# 前バージョンへのロールバック
git tag -a v1.2.2-rollback -m "Rollback from v1.2.3"

4. デプロイ Skill の実践

▶ 例:セーフデプロイ Skill

Alice は承認とロールバック付きのデプロイ Skill を作成しました:

YAML
---
name: safe-deploy
description: "セーフデプロイ:事前チェック+承認+デプロイ+検証+ロールバック"
triggers:
  - keyword: "deploy|deployment|デプロイ"
tools:
  - Read
  - Bash
  - Grep
---
MARKDOWN
## デプロイフロー

1. 事前チェック
   - Bash:git status(コミット済みか確認)
   - Bash:npm test(テスト通過を確認)
   - Grep:TODO/FIXME をチェック
2. ビルドとデプロイ
   - Bash:npm run build
   - Bash:npm run deploy:staging
3. ヘルスチェック
   - Bash:curl -f http://staging.example.com/health
4. 本番へのデプロイ可否を確認
5. 本番デプロイ+ヘルスチェック

Bob は評価しています:「デプロイで最も怖いのは失敗そのものではなく、失敗した時にどうロールバックするか分からないこと。Skills がロールバックをプロセスに組み込むことで、すべてのデプロイに撤退の道が確保される。」


❓ よくある質問

Q デプロイ Skill に Bash の書き込み権限は与えるべきですか?
A 慎重に使用してください。特定のデプロイコマンドのみを許可し、rmcurl | bash などの危険な操作は禁止することをお勧めします。コマンドホワイトリストで制限してください。
Q マルチ環境設定はどう扱いますか?
A 変数で環境を区別し、設定ファイルを .env.staging/.env.production に配置し、Skill が環境変数に基づいて設定を選択するようにします。
Q CI/CD パイプラインの失敗をどうトラブルシュートしますか?
A Skill はまずエラーログを読み込み、失敗したステップを特定し、エラー原因を分析します。よくある原因:依存関係のインストール失敗、テストタイムアウト、権限不足。

📖 まとめ


📝 練習問題

  1. 基礎問題(難易度⭐):コードがコミット済みでテストが通過していることを確認するデプロイ事前チェック Skill を作成してください。
  2. 応用問題(難易度⭐⭐):事前チェック、ビルド、デプロイ、ヘルスチェックのステップを含む完全なセーフデプロイ Skill を作成してください。
  3. チャレンジ問題(難易度⭐⭐⭐):プロジェクトの CI プラットフォームを自動検出し、パイプライン設定を分析し、失敗を診断する CI/CD アシスタント Skill を作成してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%