Skip to content
Latchkey

Idempotent Deploy - CI/CD用語集の定義

idempotent deployとは、何回実行しても同じ最終状態を生み出すdeploymentのことで、部分的な失敗の後に再実行しても安全であり、望ましい結果へ収束します。

なぜ重要か

pipelineはdeployの途中で失敗します。同じreleaseを2回適用するとリソースが二重に作成されたり状態が壊れたりする場合、復旧は危険になります。idempotentなツール(Terraform、Kubernetes apply、Ansible)は現在の状態を確認し、異なる部分だけを変更します。

retryを可能にする要素

idempotencyこそが、deployステージでretry-with-backoffを安全にする要素です。再試行されたapplyは事態を悪化させることができません。

関連ガイド