日頃より、弊社をご愛顧いただきまして誠にありがとうございます。この度、弊社は商号を「ゴーツーグループ 株式会社」から「ゴーツーラボ 株式会社」に変更いたしました。詳細については、「商号変更のお知らせ」をご参照ください。

アジャイル開発のベストプラクティス (前編)

2012-10-16 (Tue)  •  By 伊藤  •  活用のヒント  •  Bamboo Bitbucket Jira

アトラシアン社製品の GreenHopper、Bamboo、Stash を使用し、アジャイル開発で必要な、スクラム、ストーリー ブランチ、継続的ビルド、Git レポジトリ、プル リクエスト、マージを効率的に行うベスト プラクティスをご紹介いたします。

1 つのストーリーのライフ サイクルは以下の手順になります。

  1. (GreenHopper) ストーリーを作成
  2. (GreenHopper) ストーリーを To Do から In Progress へ移動
  3. (Bamboo) ストーリー ブランチを新規作成
  4. (Stash) レポジトリを Clone
  5. (Git Client) ストーリー ブランチをチェックアウト
  6. (ローカル マシン) ストーリーを実装
  7. (Git Client) Stash にプッシュ
  8. (Bamboo) ストーリー ブランチのビルド実行
  9. (Stash) プル リクエストを作成
  10. (Stash) マージ コミット
  11. (Bamboo) マスター ブランチのビルド実行
  12. (GreenHopper) ストーリーを Done へ移動

1. (GreenHopper) ストーリーを作成

はじめに、GreenHopper 上でストーリーを新規作成します。今回は、ショッピング サイト構築プロジェクトと想定して、「メール送信機能」ストーリーを作成してみましょう。

2. (GreenHopper) ストーリーを To Do から In Progress へ移動

「メール送信」ストーリーを To Do から In Progress にドラッグ&ドロップしましょう… いえ、ちょっと待って。その前に設定しないといけないことがあるんです。

3. (Bamboo) ストーリー ブランチを新規作成

ストーリーのステータスが In Progress になったら、対応する課題番号をキーにし Git レポジトリにブランチを自動的に作成するマジックを仕掛けましょう!

それには、JIRA のワークフロー エンジンのポスト ファンクション機能を使用します。ストーリー (JIRA 課題) のステータスが In Progress になったら Bamboo の REST API を呼び出すように設定しましょう。

ポスト ファンクションで REST API を実行するために、HTTP ワークフロー リクエスト機能プラグイン をインストールしてください。

In Progress のポスト ファンクションに、下記の REST API を設定します。

下記の Bamboo への接続パラメーターに適切な値を設定します。

http://(BAMBOO_SERVER)/rest/api/1.0/queue/(PLANID)?os_authType=basic&os_username=(USERNAME)&os_password=(PASSWD)&executeAllStages=true&bamboo.variable.issueKey=%ISSUE_KEY%&bamboo.variable.issueAssignee=%ISSUE_ASSIGNEE%

REST API で呼び出される Bamboo のタスクをシェル スクリプトで実装します。シェル スクリプトでは Git コマンドを使用して Git ブランチを作成します。

git branch ${bamboo.issueAssignee}_${bamboo.issueKey}
git checkout ${bamboo.issueAssignee}_${bamboo.issueKey}
git commit -a -m 'create a story branch for ${bamboo.issueKey}'
git push -u http://{STASH_SERVER}/scm/AGILE/demo.git  ${bamboo.issueAssignee}_${bamboo.issueKey}

ここまで設定できたら、GreenHopper からストーリーを In Progress へ移動してみましょう。

4. (Stash) Git レポジトリを Clone

さあ、Git レポジトリにストーリー ブランチが作成されたか Stash から見てみましょう!

出来ていましたか? (出来なかった場合は、弊社に お問い合わせ ください!)

では早速ローカル マシンにレポジトリを Clone しましょう。

[Clone] ボタンをクリックします。

ここでは、アトラシアン社の Mac 用 Git クライアントの SourceTree を使ってます。もちろん、Eclipse でもいいですし、コマンド ラインから直接 Git コマンドを使用しても良いです。Stash サーバは、HTTP、SSH プロトコルをサポートしています。

ローカル マシンの保存先のパスを指定して、[クローン] ボタンをクリックしましょう。

5. (Git Client) ストーリー ブランチをチェックアウト

ローカル マシンで新規に作成したストーリー ブランチをチェックアウトします。

6. (ローカル マシン) ストーリーを実装

さあ開発です! ストーリーを実装しましょう!

  前の記事 次の記事  

関連記事