ストーリー
自動化のレイヤー
開発ライフサイクルに沿った自動化
自動化のレイヤー:
開発者のローカル環境
├── EditorConfig / IDE設定共有
├── pre-commitフック(リンター、フォーマッタ、シークレット検出)
└── プロジェクトテンプレートからの初期化
PRの作成時
├── CI/CDパイプラインの自動実行
├── 品質ゲート(テスト、カバレッジ、静的解析)
├── セキュリティスキャン
└── 自動コードレビューコメント
マージ後
├── 統合テスト
├── コンテナイメージビルド・スキャン
└── ステージング環境への自動デプロイ
本番リリース時
├── リリースチェックリストの自動確認
├── カナリアリリース
└── 自動ロールバック条件の監視
主要なツーリング
プロジェクト初期化の自動化
| ツール | 用途 | 効果 |
|---|---|---|
| 社内CLIツール | taskflow init --lang=go で標準構造のプロジェクト作成 | 初期設定の統一 |
| Cookiecutter / degit | テンプレートからプロジェクトを生成 | ボイラープレートの削減 |
| 共有設定パッケージ | ESLint/Prettier/golangci-lint の設定をnpmパッケージ化 | 設定の一元管理 |
CI/CDでの品質ゲート自動化
| チェック | ツール | 判定基準 | ブロック |
|---|---|---|---|
| ビルド | 言語別ビルドツール | ビルド成功 | Yes |
| ユニットテスト | Vitest / go test | 全テスト通過 | Yes |
| カバレッジ | Istanbul / go tool cover | 60%以上 | Yes |
| リンター | ESLint / golangci-lint | エラーゼロ | Yes |
| 型チェック | tsc —strict / mypy | エラーゼロ | Yes |
| セキュリティ | Trivy / Semgrep | Critical ゼロ | Yes |
| シークレット検出 | gitleaks | 検出ゼロ | Yes |
| ライセンス | license-checker | 禁止ライセンスゼロ | Yes |
| API仕様 | spectral | OpenAPI Lintエラーゼロ | Optional |
依存関係の自動管理
| ツール | 用途 | 設定 |
|---|---|---|
| Dependabot / Renovate | 依存パッケージの自動更新PR作成 | 週次チェック |
| Socket Security | サプライチェーン攻撃の検出 | PR時チェック |
| license-checker | OSSライセンスの自動チェック | PR時チェック |
カスタムルールの作成
組織固有のリンタールール
標準の中には、汎用のリンターでは対応できない組織固有のルールがあります。
| ルール例 | 実装方法 | 目的 |
|---|---|---|
| エラーコード体系の準拠 | ESLint Custom Rule | TFL-XXX-NNN 形式を強制 |
| ログフィールドの必須化 | ESLint / Semgrep | trace_id フィールドの必須 |
| 禁止APIの検出 | Semgrep | 非推奨APIの使用を検出 |
| テストファイルの命名規則 | golangci-lint Custom | _test.go サフィックスの強制 |
設定の一元管理
共有設定の管理:
@taskflow/eslint-config # ESLint共有設定
├── base.js # 全プロジェクト共通
├── react.js # React プロジェクト用
├── nestjs.js # NestJS プロジェクト用
└── custom-rules/ # 組織固有のカスタムルール
├── error-code.js
└── log-fields.js
配布方法:
├── npm private registry(ESLint設定)
├── Go module(golangci-lint設定)
└── Gitリポジトリ(Semgrep Rules)
標準準拠ダッシュボード
可視化すべき指標
| 指標 | 測定方法 | 目標 |
|---|---|---|
| 標準準拠率 | 品質ゲート通過率 | 95%以上 |
| テストカバレッジ平均 | CI/CDのカバレッジレポート | 75%以上 |
| セキュリティ脆弱性数 | Trivy / Snyk | Critical: 0 |
| 技術的負債削減率 | SonarQube Technical Debt | 四半期10%削減 |
| デプロイ頻度 | CI/CDメトリクス | 週1回以上 |
| 例外件数 | 例外レジストリ | 全体の20%以内 |
「測定できないものは改善できない。ツーリングで標準を自動チェックし、ダッシュボードで可視化する。これが”生きた標準”の基盤だ」 — 田中VPoE
まとめ
| ポイント | 内容 |
|---|---|
| 自動化のレイヤー | ローカル環境→PR→マージ後→リリース |
| 品質ゲート | テスト、カバレッジ、リンター、セキュリティを自動チェック |
| カスタムルール | 組織固有のルールをリンター・SASTに組み込む |
| ダッシュボード | 標準準拠率、カバレッジ、脆弱性数等を可視化 |
チェックリスト
- 開発ライフサイクルに沿った自動化レイヤーを理解した
- CI/CDでの品質ゲート自動化の設計方法を理解した
- カスタムルールの作成と設定の一元管理を理解した
- 標準準拠ダッシュボードの可視化指標を理解した
次のステップへ
次は「教育プログラムの設計」を学びます。ツーリングだけでは補えないエンジニアの知識とスキルを教育プログラムで底上げする方法を身につけましょう。
推定読了時間: 30分