Tagbangers Blog

Atlassian ​Bamboo で Tomcat にデプロイ!

最近のデプロイ事情の変化はめまぐるしいですね。
今日は手始めに Bamboo から Tomcat へのデプロイをやってみます。

必要なもの

Atlassian Bamboo 5.7.2
https://www.atlassian.com/ja/software/bamboo
現時点での Bamboo 最新版。今回はサーバインストール版を使ってます。

Maven POM Value Extractor
https://marketplace.atlassian.com/plugins/com.davi...
pom.xml に記述した artifactId や version を Bamboo の変数登録できる Bamboo の無料プラグイン。
今回は、デプロイ時の war ファイル名とバージョン番号の解決に使います。

Tomcat7 Web アプリケーションマネージャ
Tomcat への Web アプリケーションの配備や起動、終了、再起動行うための Tomcat 付属の管理アプリケーション。

手順

  1. Tomcat7 Web アプリケーションマネージャ のインストール
  2. Tomcat7 Web アプリケーションマネージャ のユーザ設定
  3. Build Plan の Job の設定
  4. Build Plan の Artifact の設定
  5. Deploy Environment の設定
  6. Release versioning の設定
  7. ビルド&デプロイを実行

1. Tomcat7 Web アプリケーションマネージャ のインストール

まずは、デプロイ対象となる、サーバ (Tomcat) に Web アプリケーションマネージャをインストールします。
次のコマンドでインストールします。

yum install tomcat7-admin-webapps

2. Tomcat7 Web アプリケーションマネージャ のユーザ設定

tomcat-users.xml を編集して、Bamboo から Web アプリケーションマネージャにアクセスするためのユーザを追記します。

/etc/tomcat7/tomcat-users.xml

<user username="bamboo" password="bamboo" roles="manager-script,manager-gui"/>

http://[YOUR_HOST_NAME]/manager/ にアクセスできることをしておきます。
これでデプロイ対象側のサーバの準備は完了です。

3. Build Plan の Job の設定

ここからは、Bamboo 側の設定を行ないます。
Job に対して、次の3つタスクを登録します。

Source Code Checkout
デプロイ対象となる、レポジトリとブランチを指定します。

Maven 3.x
Maven のパッケージング方法を指定します。
Advanced options の Use Mavben return code をオンにしないと動きませんでした。

Maven POM Value Extractor
このタスクを登録することで、${bamboo.maven.artifaceId} や ${bamboo.maven.version} などの変数が登録され、pom.xml に記載した内容を、この後に行うデプロイタスクの設定で使用できるようになります。
初期値のままでOK。

4. Build Plan の Artifact の設定

Build Plan で作成される war ファイル をこの後のデプロイタスクで参照できるように、Artifact の設定を行ないます。
Shared にチェックを入れるのを忘れないように。
これで Build Plan の設定は終わりです。

5. Deploy Environment の設定

ここからは、Deploy Environment の設定を行ないます。
Job に対して、次の3つタスクを登録します。

Clean working directory task configuration
初期値のままでOK。

Artifact download configuration
初期値のままでOK。

Deploy Tomcat Application configuration
次にように入力します。
Maven POM Value Extractor の設定効果で、WAR File に pom.xml 標準の war ファイル名を指定することができます。

Tomcat Manager URL: デプロイ対象の Tomcat Web アプリケーションマネージャのURL
Tomcat Manager Username: Tomcat Web アプリケーションマネージャに設定したユーザ名
Tomcat Manager Password: Tomcat Web アプリケーションマネージャに設定したパスワード
Application Context: デプロイ対象の Application Context パス
WAR File: target/${bamboo.maven.artifactId}-${bamboo.maven.version}.war

6. Release versioning の設定

リリース番号を pom.xml に指定した version 番号を使うようにします。


7. ビルド&デプロイを実行

これで準備は整いましたので、ビルドとデプロイを実行します。
無事デプロイできればあとは Trigger 設定次第で Git へのプッシュと連動させてデプロイさせるなど思いのままですね!
お疲れ様でした。