PlantUML アクティビティ図: CI/CDパイプライン可視化
PlantUMLアクティビティ図でCI/CDパイプラインステージを可視化。並列ジョブ、ゲート、ロールバックパスを含むビルド、テスト、デプロイステージをモデル化。
Activity Diagrams
詳細な説明
アクティビティ図によるCI/CDパイプライン可視化
アクティビティ図はCI/CDパイプラインのドキュメントに最適です。シーケンシャルなステージ、並列ジョブ、条件付きゲートを自然にサポートします。
基本的なパイプライン
@startuml
title CI/CDパイプライン
start
:ソースコードをチェックアウト;
partition "ビルドステージ" {
fork
:フロントエンドビルド;
fork again
:バックエンドビルド;
fork again
:Dockerイメージビルド;
end fork
}
partition "テストステージ" {
fork
:ユニットテスト;
fork again
:インテグレーションテスト;
fork again
:E2Eテスト;
end fork
}
if (全テスト合格?) then (はい)
partition "ステージングデプロイ" {
:ステージングにデプロイ;
:スモークテスト実行;
}
else (いいえ)
:Slackでチームに通知;
stop
endif
if (手動承認?) then (承認)
partition "本番デプロイ" {
:ブルーグリーンデプロイ;
:ヘルスチェック;
if (ヘルスチェックOK?) then (はい)
:トラフィック切り替え;
else (いいえ)
:ロールバック;
:オンコール担当にアラート;
endif
}
else (却下)
:却下をログ;
stop
endif
:デプロイメントダッシュボードを更新;
stop
@enduml
主要なパターン
並列ジョブ: 同じパイプラインステージで同時実行するジョブにはfork/fork again/end forkを使用。
パーティション: partition "ステージ名" { ... }で関連アクティビティをグループ化してパイプラインステージを視覚的に分離。
ゲート: ifブロックで手動承認ゲートをモデル化。承認と却下の両方のパスを含めます。
ロールバック: ロールバックパスは常にドキュメント化します。これはインシデント対応で最も価値のある部分です。
ユースケース
新しいチームメンバー向けのCI/CDパイプラインのドキュメント、デプロイメント手順のランブック作成、エンジニアリングリーダーシップへのパイプラインアーキテクチャの提示、本番デプロイメントのロールバック戦略の設計。