うまくいくチーム開発のツール戦略

第10回 継続的インテグレーション(CI)ツールで安定した本番リリースをしてみよう(後編)

この記事を読むのに必要な時間:およそ 2 分

Bambooを使った開発の流れ

前編では,Bambooの基本的な機能を説明しました。Bambooを利用することで柔軟にCI環境を構築できることがおわかりいただけたと思います。

後編では,Atlassianが提供している課題管理システムであるJIRAGitリポジトリ管理ツールのBitbucketと連携した場合の開発の流れを紹介します。Bamboo単体の導入でももちろん効果がありますが,JIRAやBitbucketと組み合わせることで,相乗効果が生まれます。

1.ブランチの作成

まずは,対応する課題をJIRAから決めます。対応する課題を決めたら,課題の開発セクション図1にある「ブランチを作成」をクリックすると,Bitbucket Serverのブランチ作成ページが表示されるので,ブランチタイプや分岐元などを選択してブランチを作成します。

図1 課題画面

図1 課題画面

このときに,Bambooでブランチの自動検出を設定している場合は,ブランチのプランが自動的に作成されます。

2.チェックアウト~コミット

先ほど作成したブランチをGitクライアントでローカル環境にチェックアウトして,ソースコードを修正していきます。ここで使用するGitクライアントとしては,Atlassianから無料で提供されている「Source Tree」が,Bitbucket Serverとの親和性が高いのでおススメです。なお,ソースのチェックアウトから次に説明するプルリクエストまでの詳しい流れについては,本連載の第3~4回Bitbucket Server+SourceTreeで快適Git環境!をご参照ください。

意味のある変更ができたらコミット,プッシュしていきます。Bambooのビルドプランの実行トリガーを,リポジトリの変更が発生したときに実行するようにしておけば,プッシュしたあとにビルドやテストが実行されます。

ビルドとテストが頻繁に繰り返し行われるので,早い段階で問題を発見でき,あとあと発生する問題をぐっと抑えられます。ビルドの実行結果は,通知やJIRAの課題画面,Bitbucketのブランチ一覧画面で確認できます。

ビルドやテストが失敗した場合は,Bambooの画面で詳細を確認しましょう。Bambooの詳細画面では,ビルド結果のサマリやテスト結果,コードの変更,ビルド成果物,ログ,ビルドに含まれるJIRAの課題一覧などを確認できます。

AtlassianのコードカバレッジツールであるCloverを利用している場合は,コードカバレッジのレポートも詳細画面に表示できます。

3.プルリクエスト~マージ

実装を終えたら,次はレビューです。JIRAからプルリクエストを作成してレビューを依頼します。承認を得たらマージです。

ここで万が一ビルドが通っていないソースがマージされると,ほかの開発者に迷惑がかかります。Bitbucketでは,ビルドが成功していないブランチをマージできないように設定できるので安心です。

4.デプロイ

マージを終えたらデプロイです。ビルドが終わったときに自動でデプロイを実行させることもできますが,ここでは手動でデプロイをしてみます。

Bambooから対象のデプロイプロジェクトを開き,デプロイしたい環境のデプロイアイコンをクリックします。デプロイ画面が表示されるので,デプロイしたいビルド結果を選択して,⁠Start deployment」をクリックします。すると,デプロイが実行され,実行結果が通知されます図2)⁠デプロイした結果はJIRAの課題画面にも表示されるので,実装がデプロイ済みかどうかがわかります図3)⁠

図2 デプロイ画面

図2 デプロイ画面

図3 デプロイした結果

図3 デプロイした結果

おわりに

今回はAtlassian社のBambooを紹介しました。CIツールには,ほかにもJenkins(ジェンキンス)⁠Travis CI(トラヴィス)などがありますが,Bambooの良いところは,世界中で利用される課題管理/バックログ/バグトラッキングツールの「JIRA」⁠Gitリポジトリの「Bitbucket Server」⁠ユーザ管理ツールのCrowdなどとのツールチェインによって開発プロセスを連携できる点です。Crowdによってアカウント管理が統合され,JIRAという課題管理システムからブランチ作成,ビルド/デプロイなどの実行やステータスの自動切り替えができます。

開発システム基盤が分かれていることで,開発者が手動でステータス変更をしなければならないなど,情報の連携に手間がかかっていましたが,Atlassian製品によるツールチェインを利用すると,その手間から開発者を解放することができます。GitリポジトリであるBitbucket ServerとCIツールである「Bamboo(バンブー)⁠を組み合わせたツールチェインはぜひ試していただきたいです。

Bitbucket Serverについては,本連載の第3~4回Bitbucket Server+SourceTreeで快適Git環境!もお読みください。

米国Atlassianから,2年連続で
「Top new business APAC」を受賞。
Atlassianセールスパートナーとして
アジアパシフィックで1位の証

米国Atlassianから,2年連続で「Top new business APAC」を受賞。Atlassianセールスパートナーとしてアジアパシフィックで1位の証

日本だけでなく,アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは,各アトラシアン製品の体験版を提供しているほか,アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!

リックソフトJIRAデモ環境
https://www.ricksoft.jp/demo/
Software Design

本誌最新号をチェック!
Software Design 2017年9月号

2017年8月18日発売
B5判/184ページ
定価(本体1,220円+税)

  • 第1特集
    Web技術【超】入門
    いま一度振り返るWebのしくみと開発方法
  • 第2特集
    tmux&Byobu
    開発効率アップのターミナル改造術
  • 一般記事
    不正アクセス・なりすましを防ぐ
    認証を支える技術
  • 一般記事
    Ejectコマンドで遊んでみませんか?
    スマートコンセントで扇風機を回そうの巻
  • 一般記事
    【最終回】[短期集中連載]人工知能時代のLispのススメ
    Java 500行でLispを作る! これがLispを理解する一番の早道

著者プロフィール

持田秀敏(もちだひでとし)

天下泰平をひそかに願う小市民な技術者です。

Atlassian製品のJIRA製品群,Bitbucket,Bambooなど開発プロセスの技術コンサルからアドオン開発まで何でもやります。

コメント

コメントの記入