Build Once, Continuous Delivery - ビルドワンスと継続的デリバリー

アイデアをビジネス価値にし続ける

講演では実例としてデモンストレーションを実施していますが、

                アイデア → ビジネス価値

を継続的に実践するための一例を提示しています。

継続的にデリバリーするためには、ビルドパイプラインやそれらの自動化だけでは不足していて、継続的フィードバックを実現する要素をカバーしておく必要があります。そこには、プロダクト戦略、バックログ戦略、ブランチ戦略、ビルド戦略そして、デプロイ戦略が一連の『流れ』として持続可能である必要があります。

 

『流れ』をつくる

img_586c6968cc412開発用環境は、開発者が自由にアクセスできる環境です。継続的インテグレーションをするたびに、構築・実行できるようになっています。私のデモ環境では、コードに変更を行う場合は、Git ブランチを作成し、コードを分離します。そこで起きた変更についても、継続的インテグレーション (CI) が実施され、Docker コンテナが作成されます。したがって、このコンテナを実行すれば、その開発目的に応じてコード変更した環境を開発者個別に提供してくれるのです。

この流れとバックログが繋がっていないと複雑な開発現場はマネージできません。

話を戻して、master ブランチにて CI が成功すると、Docker イメージが保持されるようにしていますので、デプロイ時にもう一度ビルドするなんて愚は行いません。CI でビルドすればあとは、どの環境にデプロイするかだけでよいわけです(Build Once)。

CI サーバーのレポートで見てましょう。

img_586c697b8ae1d

各開発目的ごとのブランチでも CI が実行されていることも右下のレポートを見ればわかります。

これをビルドパイプラインでみると以下のようになります。

img_586c69a0ba5c7* Bamboo のアドオンを使うとビルドパイプラインを可視化し、実施状況のリアルタイム把握もできるようになります。

 

一番上のが master での  CI  です。ビルドレベル「A」です。

さて、これをどうデプロイするのかを見てみましょう。まず、CI のプロジェクトからみてもどのビルドがどこの環境にデプロイされているのかはわかります。

img_586c69b6ce347Stating には、Release-44 というのがデプロイされていることがわかります。この Release-44 では、ビルド 20 がつかわれていることがわかります。Production も同様だというのが確認できます。

img_586c69d4ecd0dこれをみると、ステージング環境には、CI が成功するとそれをトリガーにしてデプロイが行われたこともわかります。これは、デプロイプロジェクトのトリガーで設定していたためです。では、デプロイメントの設定を見てみましょう。

img_586c69e9acac0この「Triggers」を見てみましょう。

img_586c69fd447be最後にデプロイのワークフローを見てみましょう。

img_586c6a142780aちなみに、Bamboo では、タスクとして、標準で Docker タスクが備わっています。

 

継続的デリバリーの全体像

全体像は、以下の図になります。今回は、ビルドとデプロイのところを見ていきました。

img_586c6a6f21ecb

0 comments

Comment

Log in or Sign up to comment
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Posted Friday in Off-topic

Friday Fun: Riddle me this

Happy Friday, Funmakers! We had a Community Team offsite in Austin this week, and my mind feels primed for thinkin' from all the brainstorming we did!  So, this week's Friday Fun thread w...

339 views 39 6
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you