ここからはじめよう_Agile Manager6: Subversion/Jenkins連携(その3)

 前回までの設定は、Agile Manager(以降AGMとします)とDevBridgeとの接続が確認されるところまで出来ています。しかし、まだ「どのJenkinsサーバーのジョブと連携するか?」「どのSubversionのどのブランチと接続するか?」までは設定できていません。ビルド結果やソースコードの変更情報をAGMのアプリケーション情報と関連づける必要があります。それが今回のお題です。これで基本的な設定+おまけ(Subversion/Jenkins連携)が出来たことになります。

作業の流れは次のようになります。

  1. (Jenkins上の設定)Jenkinsの該当ジョブのビルド設定に、ALI連携用のステップを組み込む
  2. (AGM上の設定)ビルド管理の設定で、AGMのアプリケーション情報とJenkinsのジョブとを関係付ける
  3. (AGM上の設定)ソースコード管理の設定で、Subversionのブランチと、AGM上のアプリケーション情報を関係付ける

【1. Jenkinsのビルド設定でALI連携用のステップを組み込む】
 まずJenkins側の対象となるジョブのビルド設定の1ステップとして、ALI連携を組み込んでおきましょう。
 Jenkins上で対象のプロジェクトを選択し、その[設定]画面ずーーーーーっと下の方にある[ビルド後の処理の追加]ボタンをクリックすると、図2のようなプルダウンが現れます。
AGMとの連携であれば、とりあえず「ALI統合」を選んでください。
図2
6-2.png

これで、このジョブが実行されると、ALIと同期するための情報が作られます(これをDevBridgeがAGMへ送り出すのです)。


AGMのほうへ戻り段取りを進めていきましょう。

AGMの[設定]から[プロジェクト]-[ALサマリ]タブを選択すると、図3のサマリ情報画面に入ります。
図3 

この画面例ではすでに連携設定後のイメージになっています。これをみて想像できるように、AGMは複数のビルドサーバー、SCMリポジトリを連携できます。会社の中に複数のチームがあって、各々がJenkinsサーバを建てているような場合には、これ以降説明するステップを踏んでいけば、追加することができます。

では、ステップの2番目、Jenkins連携を見ていきましょう。

【2. AGMのビルド管理設定で、アプリケーション情報とJenkinsのジョブを関係付ける】
 アプリケーション情報と関係付けるには、
・どのビルドサーバと関係付けるか?

・その管理下にあるどのジョブと関係付けるか?
以上2つを設定する必要があります。
 まずは、中段[+ビルドサーバの追加]を選択すると、ビルドサーバの新規追加画面が出てきます。(図4)。
図4
6-4.png
今回は必要最低限の設定なので、識別用の名前とJenkinsへアクセスするURLだけ指定します。[保存]を押し、画面上部のタブメニューから[ALIサマリ]タブを選択すると、中段の[ビルド管理]に1行追加されていると思います。

※ちょっとリフレッシュに時間がかかるみたいで、設定が終わっても反映が遅れる場合があります。そのときは、他のタブに切り替えて戻ってくると反映されるみたいです(慌てず慌てず・・・)。

次にジョブとの関係付けです。
画面上部の[ビルド管理]タブを選択すると、図5が表示されます。
図5

6-5.jpg

Jenkinsのジョブと、AGM上のアプリケーション情報との関係付けのことを、"ビルド構成"と呼びます。[+ビルド構成の追加]を選択し設定します。設定情報を見ましょう。設定済みのビルド構成をオープンしたのが図6です。
図6
6-6.png
なお、新規設定や編集の際に設定を確認したい場合には、画面下の[設定の検証]をクリックしてください。

Jenkinsとのビルドの関係付けはこれは終わりです。確認してみましょう。

いったん設定画面から抜けて、プロジェクトのほうへ入ります。

※設定モードに入ったり抜けたりの操作は、"【事始め3】アプリケーションやリリースを理解する(2)"で説明しておりますので、ご覧ください。

タブメニューから[ビルド]を選択したものが、図7の画面です。
※下の例は、すでに何度かビルドを実行した結果が取り込まれています。また、デフォルトでは同期の間隔が60分に設定されていますが、この設定値の変更はまた別途解説をアップします。
図7
6-7.jpg


【3.AGMのビルド管理設定で、アプリケーション情報とSubversionのブランチを関係付ける】
 次はSubversionを関連づけましょう。
 画面図3、[SCMリポジトリの追加]を選択し、SCMリポジトリを追加します。設定例が図8です。
 この画面では、必要な情報を設定し、[設定の検証]を実行した直後の状態です(「接続テストが成功しました」とメッセージされていますね)。
図8

6-8.jpg

問題がなさそうですから[保存]しましょう。

次にブランチとの関係付けです。画面上位のタブメニュー「ソース管理」を選択すると、図9の画面になります。

図9
6-9.jpg
[サーバ/ブランチ]欄のサーバを選択して、[+SCMブランチの追加]を選択すると、設定画面が現れます(図10)。
図10
6-10.jpg

[チェックインポリシー]とか[ロックポリシー]とか諸々ありますが、今回はスルーします。
関連づけはこれで終了です。
設定を抜けて、画面上部のタブメニューから、[ソースコード]を選択しましょう。
図11がでればOKです。
図11
6-11.jpg

まだ今の時点では、ユーザストーリーも不具合もなにも登録していません。画面のど真ん中に、うすーーーいグレーで「ユーザストーリーに割り当てられた変更はどうたらこうたら・・・」と遠慮がちにあるのは、そのためです。ですが、設定前にこのブランチでチェックイン/チェックアウトを繰り返している場合には、画面真ん中[ 未割当の変更を表示]をクリックすると・・・やってみてくださいw

【まとめ】
 ここまでの設定で、SubversionおよびJenkinsと連携できるようになっています。

 ここまで述べてきた設定の諸々は、オンラインヘルプ("ヘルプセンタ")のほうにありますが、おそらく多くの方が直面するであろうポイントを何点かここに挙げておきます。

Q)Proxyサーバーが立っている場合

A) 社内にDevBridgeが立っている場合には、Proxy経由がよくありますが、その場合には追加の設定が必要です。

  {DevBridge install dir}¥tenants¥{tenant-name}/conf¥connection.propertiesファイルで、以下のブロックを捜します。

# proxy to be used

#httpProxy=host:port

#httpProxyUser=proxy_user

#httpProxyPassword=proxy_password

プロキシを実行するホストが 16.45.118.112,ポートが 3128,ユーザ/パスワードなしの場合,次のように設定します。

# proxy to be used <----- ここは残す。下3行はコメント指定("#")をはずすこと

httpProxy=16.45.118.112:3128

httpProxyUser=

httpProxyPassword=

それ以外にもいろいろありますので、詳しくは[ヘルプセンタ]-[設定]-[ALI DevBridgeのデプロイメント]以下の記述やQ&Aをご覧ください。

Q) ところで、AGM内の情報とどう関係付けるのか?

A) SubversionやJenkinsと連携するのはわかった。でも、(例えば)AGMに登録された不具合のチケットと、Subversionのソース(の変更差分)とは、どうやって関連づけるの?・・・と実際に質問を受けたので、お答えしておきますが、これは毎度おなじみの答え「コミット時のコメントに記入する」です。

 AGMでは、ストーリーやタスク、不具合を登録するとIDが振られます。コミットする際にコメント欄に、あるルールに従ってこのIDを記入しておくと、AGMで解釈してAGM内のチケットとソースの変更情報が関係付けられます。

 このあたりの使い方は、のちほど基本的な使い方の記事の中で説明しようと思います。

Q) ところで、スクリーンショットを見ていると、「ALI設定ウィザード」ってのがあるけど、どうしてこの記事ではそれを使わないの?

A) バグを見つけちゃったからですぅ〜

おあとがよろしいようで・・・ 

カテゴリ: