[[FrontPage]]

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

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

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

#contents

**環境構築 [#he015493]
***Java [#n80dd61a]
もちろん、JDKのインストールが必要。
***Maven [#b62efcda]
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>

**プロジェクト作成 [#d7fa185a]
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
の手順でインポートする。

以下のようになるはず。
#ref(jenkins1.png)

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

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

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

>
$ mvn hpi:run
<

を実行してから、

http://localhost:8080/

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

#ref(jenkins2.png)

**プラグインの実装 [#oe09a8b2]
***Straper [#td0c930a]
***Jelly [#m9f2e163]
***拡張ポイント [#fd41a2db]
プラグイン実装者によって、新たに昨日を追加可能な場所を拡張ポイントと呼ぶ。

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

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

***代表的な拡張ポイントと実装例 [#qa6ed074]

[[Jenkinsプラグイン/TopLevelItem]]

[[Jenkinsプラグイン/Builder]]

[[Jenkinsプラグイン/Action]]

**参考書籍 [#nf65ac6d]
#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=fusatsukatsuj-22&o=9&p=8&l=as1&asins=4774148911&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS