FrontPage

Jenkinsは拡張可能なCIツールである。

とてもアーキテクチャが柔軟で、様々な箇所について、プラグインを実装することにより プログラマが自由に機能追加できるようになっている。

また、実装したプラグインを、hpiファイルとしてパッケージングし、公開することも可能である。

環境構築

Java

もちろん、JDKのインストールが必要。

Maven

Mavenをインストールしてから(とりあえず、3.0.4でやった)、setting.xmlに以下の追加設定が必要。

<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を利用してプロジェクトを作成する。 workspaceディレクトリ直下で以下のコマンドを実行。

$ mvn -cpu hpi:create

groupIdとartifactIdを質問されるので入力する。 groupIdがパッケージで、artifactIdがプロジェクト名。

これでプロジェクトが出来る。 つぎに以下のコマンドで、eclipseプロジェクトにする。

$ cd sample-jenkins-plugin

$ mvn eclipse:eclipse

以上で、とりあえずプロジェクトの雛形が完成。 あとは、EclipseでインポートすればOK。

Eclipseのプロジェクトビューで、Import→Existing Project Into Workspace の手順でインポートする。

以下のようになるはず。

jenkins1.png

参考URL:https://wiki.jenkins-ci.org/display/JA/Plugin+tutorial

動かし方

デプロイしなくても、デフォルトで組み込まれているサーブレットコンテナを 利用してアプリケーションを起動することが出来る。

以下のコマンドで実行可能。

$ mvn hpi:run

を実行してから、

http://localhost:8080/

にブラウザでアクセスするとJenkinsの画面が見える。

jenkins2.png

プラグインの実装

Straper

Jelly

拡張ポイント

プラグイン実装者によって、新たに昨日を追加可能な場所を拡張ポイントと呼ぶ。

Jenkinsには、さまざまな拡張ポイントがある。 以下のURLを参照。

https://wiki.jenkins-ci.org/display/JENKINS/Extension+points

代表的な拡張ポイントと実装例

Jenkinsプラグイン/TopLevelItem

Jenkinsプラグイン/Builder?

Jenkinsプラグイン/Action?

参考書籍


添付ファイル: filejenkins2.png 258件 [詳細] filejenkins1.png 247件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-05 (日) 21:57:23 (1163d)