tsalakh ain sus noam Huyah ol guf

勉強会のメモ。その他備忘録。参考にさせて頂いたサイトや資料はリンクさせて頂いていますが不都合があればご連絡ください。

【技術メモ】継続的デリバリー

★メモ★継続的デリバリー

「継続的デリバリー」について、整理してみる。


参考サイト①

www.ryuzee.com

Continuous Deliveryとは。

端的に言えば、

を積み重ねていくことで、価値を創出していく全体の流れである。

Jez Humble氏の言葉たち。

上記の結論の根拠として。

Continuous Deliveryとは

リリースのスケジュールをIT部門が握るのではなく、ビジネス部門が握るということ。

Continuous Deliveryを実装するということは

常にソフトウェアが本番環境にリリース可能であるということ。

すなわち、

  • どのビルドもボタン一発で、
  • 完全に自動化されたリリースプロセスを通じて、
  • 秒とか分の時間で、
  • 利用者にリリース可能である、

ということ。

ビジネス上の利点は

  • ビジネスプランをより素早く評価できる
  • 現実の利用者のフィードバックを受けて修正を行うことが可能になる
  • ビックバンリリースと比較して、絶対的にリスクが少ない

IT面での利点は

  • プロジェクトの進捗が明快にわかる。完了の定義が明確だから。
    • 完了の定義:「本番で動作するソフトウェア」
  • 個々のリリースのリスクを減らせる。小さい増分を日常的にリリースするため。

8原則と4プラクティス

参考サイト②

www.ryuzee.com

一部意訳します。

継続的デリバリの8つの原則

  1. デプロイは、信頼性が高く、繰り返し可能とする
  2. 全てを自動化する
  3. 苦痛なことは何度もやる、改善して自動化したくなるから
  4. 全てをソースコード管理システムで管理する
  5. ソフトウェアがユーザーの手に渡り正しく動作して初めて出来上がり
  6. 品質のメトリクスをはっきりさせる
  7. リリースプロセスの責任はすべての関係者にある
  8. システムは常に進化し、必要ならいつでも簡単に変更できる

継続的デリバリに関する4つのプラクティス

  1. バイナリは一度だけビルドする
  2. すべての環境へのデプロイに、完全に同一のメカニズムを使う
  3. デプロイ後にスモークテストを実施する
  4. 問題が起こったら、最初からやり直す