Develop with pleasure!

福岡でCloudとかBlockchainとか。

JenkinsのPlugin開発環境構築

CIツールとしてJenkinsを使ってて、

  1. テストの実行
  2. カバレッジの計測
  3. 検証済みマージ
  4. ビルド成果物の作成

なところまでは自動化までできてるんだけど、今度はビルド成果物を検証環境へセットアップするとこまで自動化したいなーという思いと、JenkinsのPlugin開発にもちょっと興味があったので、Pluginとして実現してみたいなーということで、まずはPlugin開発の環境を構築。

mavenのsetting.xmlに以下の定義を追加する。(setting.xmlホームフォルダの.m2フォルダ直下に作成。)

<settings>
  <pluginGroups>
    <pluginGroup>org.jenkins-ci.tools</pluginGroup>
  </pluginGroups>

  <profiles>
    <!-- Give access to Jenkins plugins -->
    <profile>
      <id>jenkins</id>
      <activation>
        <activeByDefault>true</activeByDefault> <!-- change this to false, if you don't like to have it on per default -->
      </activation>
      <repositories>
        <repository>
          <id>repo.jenkins-ci.org</id>
          <url>http://repo.jenkins-ci.org/public/</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>repo.jenkins-ci.org</id>
          <url>http://repo.jenkins-ci.org/public/</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
</settings>

以下のコマンドを実行し、プロジェクトの雛形を生成する。途中、mavenのgroupIdとartifactIdの入力を求められるので適宜入力する。

$ mvn -cpu hpi:create

pom.xmlも生成されてるので、IDEでpom.xmlを読みこませればプロジェクトが作られる。
また、mvn install するとxxx.hpiなプラグインが生成される。

ちなみに、下記mavenコマンドでPluginをデバッグ動作させることも可能。

$ export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n"
$ mvn hpi:run


http://localhost:8080/ にJenkinsが上がり、Pluginがインストールされている状態で動作確認ができる。

ちなみにIntellij IDEAでJenkinsのPlugin開発する場合は、IDEAのPluginとしてIntelliJ IDEA plugin for Stapler - Jenkins - Jenkins Wikiを入れるとjellyファイルの文法チェックやコードアシストが有効になり、ちょっと便利になる。