Bambooを使った開発の流れ
前編では、Bambooの基本的な機能を説明しました。Bambooを利用することで柔軟にCI環境を構築できることがおわかりいただけたと思います。
後編では、Atlassianが提供している課題管理システムであるJIRA、Gitリポジトリ管理ツールのBitbucketと連携した場合の開発の流れを紹介します。Bamboo単体の導入でももちろん効果がありますが、JIRAやBitbucketと組み合わせることで、相乗効果が生まれます。
1.ブランチの作成
まずは、対応する課題をJIRAから決めます。対応する課題を決めたら、課題の開発セクション(図1)にある「ブランチを作成」をクリックすると、Bitbucket Serverのブランチ作成ページが表示されるので、ブランチタイプや分岐元などを選択してブランチを作成します。
このときに、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)。
おわりに
今回は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環境!」もお読みください。
日本だけでなく、アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、各アトラシアン製品の体験版を提供しているほか、アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!
- リックソフトJIRAデモ環境
- https://www.ricksoft.jp/demo/
- 第1特集
MySQL アプリ開発者の必修5科目
不意なトラブルに困らないためのRDB基礎知識
- 第2特集
「知りたい」「使いたい」「発信したい」をかなえる
OSSソースコードリーディングのススメ
- 特別企画
企業のシステムを支えるOSとエコシステムの全貌
[特別企画]Red Hat Enterprise Linux 9最新ガイド
- 短期連載
今さら聞けないSSH
[前編]リモートログインとコマンドの実行
- 短期連載
MySQLで学ぶ文字コード
[最終回]文字コードのハマりどころTips集
- 短期連載
新生「Ansible」徹底解説
[4]Playbookの実行環境(基礎編)