twitter.com/toricls
1. コードベース - バージョン管理されている1つのコードベースと複数のデプロイ (再掲)
https://12factor.net/ja/codebase
Code repository Production
Staging
Dev
Deploy Code repository
1
Production
Staging
Dev
Deploy
Code repository
1’
Deploy
コードベース:デプロイ = 1:N コードベース:デプロイ = N:N
Slide 17
Slide 17 text
twitter.com/toricls
1. コードベース - バージョン管理されている1つのコードベースと複数のデプロイ (再掲)
https://12factor.net/ja/codebase
Code repository Production
Staging
Dev
Deploy Code repository
1
Production
Staging
Dev
Deploy
Code repository
1’
Deploy
コードベース:デプロイ = 1:N コードベース:デプロイ = N:N
Code repository
1
Code repository
1’
これらは永続ブランチでは?
コードベース:デプロイ = N:N
Slide 18
Slide 18 text
twitter.com/toricls
複数の永続ブランチ
▶︎
dev → release の⼀⽅向マージしかしないルールなので⼤丈夫です
▶︎
ホントですか?例外的な作業してないですか?
▶︎
ビッグバンリリースになっていませんか?
▶︎
差分を Principal Engineer がしっかりチェックしているので⼤丈夫です
▶︎
dev/release 間の差分が想定範囲内であることをどうやって担保していますか?
▶︎
Principal Engineer の時間をそんなことに使って⼤丈夫ですか?
▶︎
“環境”依存のバグとは無縁ですか?
▶︎
⼈間の努⼒で複数永続ブランチをなんとか運⽤している、という状態ではありませんか?
Slide 19
Slide 19 text
twitter.com/toricls
1:N の実現
Slide 20
Slide 20 text
twitter.com/toricls
現代のコンテナアプリケーションデリバリの概略
👤
Code repo
Push
Build system
Pull
Package
Container
image repo
Push Pull Run Container
runtime
Run
Container
agent
※ Several tests should be included
CI
Container
orchestrator
👤
De
fi
ne
CD system
Or
CD
※ Several tests can be included
※ 簡単のためテスト関連の項⽬を意図的に省いています