LoginSignup
0
3

More than 5 years have passed since last update.

SVNコミット時、JenkinsでWildFlyに自動デプロイ

Posted at

SVNコミット時、ビルド、デプロイタスクを自動化したい

特に目新しい話ではありませんが、掲題の内容を実現する記事が見当たらなかったので、その方法をメモします。
実行環境には、Java、Maven、Jenkins、Subversion、WildFlyが適切にインストールされているものとします。

環境

以下の環境で試しています。
CentOS 7.3
Java 1.8
WildFly 10.0.0.Final
Maven 3.3.9(WildFly Maven Plugin 1.1.0.Finalを使うには、Maven 3.1.1以上が必要です)
WildFly Maven Plugin 1.1.0.Final
Jenkins 2.46.3
Subversion 1.7.14

WildFly Maven Pluginの導入

mavenからWildFlyへデプロイするために「WildFly Maven Plugin」を導入します。
以下は、pomの記述例です。

pom.xml
<build>
  <plugins>
    <plugin>
      <groupId>org.wildfly.plugins</groupId>
      <artifactId>wildfly-maven-plugin</artifactId>
      <version>1.1.0.Final</version>
      <configuration>
        <hostname>WildFlyが稼動しているサーバのホスト名</hostname>
        <port>WildFlyの管理コンソールのポート番号</port>
        <username>管理コンソールにログインするためのユーザ名</username>
        <password>管理コンソールにログインするためのパスワード</password>
      </configuration>
    </plugin>
  </plugins>
</build>

hostnameのデフォルトは「localhost」なので、同じサーバ上でJenkinsとWildfFlyを動作させている場合、指定する必要はないと思います。また、portのデフォルトは「9990」なので、こちらも変更していなければ指定は不要です。
Configの詳細はここで確認できます

Jenkinsでジョブを作成

SVNコミット時に実行するジョブを作成します。
ジョブで行うことは、SVNからソースをチェックアウト、mavenでビルド、デプロイです。
以下は、ジョブの設定例です。

ソースコード管理

WS000004.JPG

ビルド・トリガ

SVNからジョブを呼び出すために必要な認証トークンを設定します。
トークンは[Jenkins]>[ユーザ名]>[設定]>[APIトークン]から確認できます。
WS000006.JPG

ビルド

まず、「clean install」でビルドして、「wildfly:deploy」でデプロイしています。
WS000007.JPG

SVNのフックスクリプトを作成

SVNコミット時に、上記のジョブを実行するために「post-commit」スクリプトを作成します。
作成したスクリプトに実行権限がないと、
post-commit hook failed (exit code 255) with no output.
みたいなエラーが出るのでご注意を。

$ cd [リポジトリのルートディレクトリ]/hooks/
$ vi post-commit

#!/bin/sh
api_token=TOKEN_NAME

curl https://[ビルドトリガで確認したURL]?token=$api_token

$ chmod 774 post-commit

完了

以上で、SVNにコミットすると、JenkinsでビルドとWildFlyへのデプロイが自動的に行われるようになりました。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3