13
2011-03-02 関西Javaエンジニアの会 Jenkins プラグインの作り方 201132日水曜日

Jenkinsプラグインの作り方

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Jenkinsプラグインの作り方

2011-03-02 関西Javaエンジニアの会

Jenkinsプラグインの作り方

2011年3月2日水曜日

Page 2: Jenkinsプラグインの作り方

自己紹介

✤ 奥 清隆(おく きよたか)

✤ @kiy0taka、id:kiy0taka ※「0」は数字のゼロ

✤ 日本Grails/Groovyユーザグループ

✤ http://www.jggug.org/

✤ 日本Jenkinsユーザ会

✤ http://build-shokunin.org/

✤ Jenkinsプラグイン

✤ Terminal Plugin、jQuery Plugin、jQuery UI Plugin2011年3月2日水曜日

Page 3: Jenkinsプラグインの作り方

Jenkins

✤ http://jenkins-ci.org

✤ 川口耕介さんが開発

✤ オープンソースCIサーバ

✤ 導入/運用が簡単

2011年3月2日水曜日

Page 4: Jenkinsプラグインの作り方

Demo

✤ Jenkinsインストール

✤ リポジトリ作成

✤ プロジェクト作成

✤ ビルド

2011年3月2日水曜日

Page 5: Jenkinsプラグインの作り方

プラグインを作る

2011年3月2日水曜日

Page 6: Jenkinsプラグインの作り方

アーキテクチャ✤ Stapler

✤ JenkinsプラグインのクラスをURLにマッピング

✤ Apache Jelly

✤ jellyファイルでViewの記述

✤ Extension Point

✤ Jenkinsが提供する拡張API

✤ http://wiki.jenkins-ci.org/display/JENKINS/Extension+points2011年3月2日水曜日

Page 7: Jenkinsプラグインの作り方

準備

2011年3月2日水曜日

Page 8: Jenkinsプラグインの作り方

settings.xml (https://gist.github.com/850703)

<settings> [...] <pluginGroups> <pluginGroup>org.jenkins-ci.tools</pluginGroup> </pluginGroups> <profiles> [...] <profile> <id>jenkins</id> <pluginRepositories> <pluginRepository> <id>m.g.o-public</id> <url>http://maven.glassfish.org/content/groups/public/</url> </pluginRepository> </pluginRepositories> <repositories> <repository> <id>m.g.o-public</id> <url>http://maven.glassfish.org/content/groups/public/</url> </repository> </repositories> </profile> </profiles> [...]</settings>

2011年3月2日水曜日

Page 9: Jenkinsプラグインの作り方

開発の流れ

✤ プロジェクト作成

✤ mvn hpi:create -P jenkins

✤ parent要素変更

✤ org.jenkins-ci.plugins:plugin:1.399

✤ 実行

✤ mvn hpi:run

2011年3月2日水曜日

Page 10: Jenkinsプラグインの作り方

ライブコーディング

✤ Jenkinsさんの画像を変更する (PluginServletFilter)

✤ Twitterのタイムラインを表示する (Widget)

2011年3月2日水曜日

Page 11: Jenkinsプラグインの作り方

さらに詳しく

✤ Extend Jenkins

✤ http://wiki.jenkins-ci.org/display/JENKINS/Extend+Jenkins

✤ Hudsonプラグイン開発

✤ http://d.hatena.ne.jp/wyukawa/20090605/1244210141

✤ Source Code

✤ https://github.com/jenkinsci/

2011年3月2日水曜日

Page 12: Jenkinsプラグインの作り方

今日のサンプルコード

✤ settings.xml

✤ https://gist.github.com/850703

✤ Twitterのタイムラインを表示する (Widget)

✤ https://github.com/kiy0taka/widget-sample

✤ Jenkinsさんの画像を変更する (PluginServletFilter)

✤ https://github.com/kiy0taka/filter_sample

2011年3月2日水曜日

Page 13: Jenkinsプラグインの作り方

Q&A

2011年3月2日水曜日