Jenkins+Dockerを使用したMavenプロジェクト環境

Last-modified: Mon, 26 Oct 2015 21:01:13 JST (660d)
  • Dockerが動作するJenkinsサーバでの動作を前提としています。
  • ここでは、JenkinsスレーブサーバにDockerを導入しています。
    Docker内でMavenプロジェクトを動作させる場合、当然MavenはDocker内部で動作するため、
    Jenkinsサーバ内で動作しません。したがって、JenkinsのMavenプロジェクトは使用できません。
    ここでは、Jenkinsスレーブサーバ内部に構築したDockerを使用し、GitbucketからMavenプロジェクトをクローン、
    Maven実行をJenkinsに行わせる手順を示します。
    Mavenプロジェクトとして、ここでは例としてオープンソースなグループウエアの一つであるAipoをつかいます。

Jenkinsジョブの作成

  1. Jenkinsで新規ジョブを作成します。ジョブのスタイルはフリースタイル・プロジェクトです。
    プロジェクト名は適当に設定なのですが、ここではDockerのコンテナ名として使用しているので、使える文字は"a-z0-9-_."だけです。
    また、実行するノードを制限にチェックを入れ、ラベル式に先ほどDockerをインストールしたJenkinsスレーブサーバ名を指定します。
    jenkins01.jpg
  2. ソースコード管理ではGitを選択します。ここはお好きなリポジトリ設定をしてください。
    JenkinsサーバをCentOSで組んだ場合、CentOSに付属のGitは古く、Jenkinsでエラーが出ます。ソースより最新のGitをインストールしてください参考
    jenkins02.png
  3. ビルド手順の追加からシェルの実行を選択。以下の内容を設定します。
     docker run --rm --name $JOB_NAME -v $WORKSPACE:/usr/src/mymaven  --privileged -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean compile
    jenkins03.jpg

Counter: 483, today: 1, yesterday: 2

このページの参照回数は、483です。