SlideShare a Scribd company logo
wadatka Jenkins プラグイン開発
アジェンダ 開発に必要なもの 開発環境準備 プラグインの作成方法 Eclipse で開発 プラグインの Debug
開発に必要なもの JDK Maven Eclipse アイディア
開発環境準備( JDK ) 下記のサイトから JDK をダウンロードし、インストールします。 http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html ここでは、 JDK 6 update 26 を利用します。
開発環境準備( JDK ) 環境変数を設定します。 JAVA_HOME  :  C:\Program Files\Java\jdk1.6.0_26 PATH  : 既存の設定値に「 %JAVA_HOME%\bin 」を追加します。 (上記の JAVA_HOME には、デフォルトの設定でインストールしたときのパスを設定しています。インストールパスを変更している場合は、環境にあったパスを設定してください。)
開発環境準備( Eclipse ) 下記のサイトから Eclipse Indigo (3.7) をダウンロードします。 http://www.eclipse.org/downloads/ ここでは、  Eclipse IDE for Java Developers を利用します。
開発環境準備(  Eclipse  ) ダウンロードしたパッケージを適当なフォルダに解凍します。 ここでは、「 C:\ 」に解凍します。
開発環境準備(  Eclipse  ) eclipse.exe を実行し、 Eclipse を起動します。 workspace の設定では、「 .\workspace 」と設定し、「 OK 」ボタンをクリックします。
開発環境準備(  Eclipse  ) メニューより「 Window 」-「 Preferences 」を選択する。 サイドメニューから「 Maven 」-「 Installations 」を選択します。 「 Add… 」ボタンで先ほど設定した Maven 2.2.1 のフォルダを追加し、追加された Maven にチェックを入れます。
開発環境準備( Maven ) 下記のサイトから maven をダウンロードします。 http://maven.apache.org/download.html ここでは、 Maven 2.2.1 を利用します。
開発環境準備(  Maven  ) ダウンロードした Maven を適当なフォルダに解凍します。 ここでは、「 C:\ 」に解凍します。
開発環境準備(  Maven  ) 環境変数を設定します。 MAVEN_HOME  :  C:\apache-maven-2.2.1 PATH  : 既存の設定値に「 %MAVEN_HOME%\bin 」を追加します。 (上記の MAVEN_HOME には、解凍先のフォルダを設定します。)
開発環境準備(  Maven  ) Jenkins 用の Maven 設定ファイルを準備します。 設定ファイル:   %USERPROFILE%\.m2\settings.xml ( Linux :  ~/.m2/settings.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>maven.jenkins-ci.org</id> <url>http://maven.jenkins-ci.org/content/groups/artifacts/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven.jenkins-ci.org</id> <url>http://maven.jenkins-ci.org/content/groups/artifacts/</url> </pluginRepository> </pluginRepositories> </profile> </profiles> </settings>
プラグインの作成方法 下記の Maven コマンドを実行します。 >  mvn -cpu hpi:create 下記のメッセージが表示されたらパッケージ名、プラグイン名を入力します。 パッケージ名: Enter the groupId of your plugin:  <パッケージ名> プラグイン名: Enter the artifactId of your plugin:  <プラグイン名>
プラグインの作成方法 コマンドを実行したフォルダーに新規プラグインのフォルダーが作成されます。 下記のコマンドで作成されたフォルダーに移動します。 >  cd  <プラグイン名>
プラグインの作成方法 下記の Maven コマンドを実行して試しにビルドします。 >  mvn package mvn package :  クラスファイルを JAR や WAR などの配布形式にまとめます。 Jenkins のプラグインでは、 hpi 形式にまとめます。 hpi ファイルは、 target フォルダ内に作成されます。
サンプルプラグイン 作成された hpi ファイルは、 Jenkins にインストールすることができます。
サンプルプラグイン ビルド手順に「 Say hello world 」が追加されます。 ビルドを実行するとコンソールに「 Hello, Sample! 」と出力されます。
Eclipse で開発 下記のコマンドを実行して Eclipse のプロジェクトを作成します。 >  mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse
Eclipse で開発 作成した Eclipse のプロジェクトをインポートします。
プラグインの Debug 下記のコマンドを実行して Debug 環境を準備します。 >  set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n  >  mvn hpi:run  Debug 環境には、「 http://localhost:8080/ 」でアクセスします。
プラグインの Debug Eclipse を起動し、インポートしたプロジェクトで右クリックします。 「 Debug As 」-「 Debug Configurations 」をクリックします。
プラグインの Debug 「 Remote Java Application 」で Debug の設定を行います。 設定内容はデフォルトのままとし、「 Debug 」ボタンをクリックします。
プラグインの Debug 「 Breakpoint 」を設定し、 「 http://localhost:8080/ 」で操作すると Breakpoint で停止します 。
デバッグする Jenkins のバージョン プラグインフォルダの直下にある pom.xml ファイルを開きます。 「 parent 」-「 Version 」をデバッグ対象とする Jenkins バージョンに変更します。 変更後は再度「 mvn hpi:run 」を実行します。

More Related Content

PDF
明日から使えるgradle
kimukou_26 Kimukou
 
PPTX
Jenkins勉強会 in 札幌 第二部
cactusman
 
PDF
システム開発を前進させるためのGradle導入法
Takuma Watabiki
 
PDF
Gradle a new Generation Build Tool
Shinya Mochida
 
PPTX
Jjug 20140430 gradle_advanced
Masatoshi Hayashi
 
PDF
Heroku java
Kazuyuki Kawamura
 
PDF
Jjug 20140430 gradle_basic
Takuma Watabiki
 
PDF
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
 
明日から使えるgradle
kimukou_26 Kimukou
 
Jenkins勉強会 in 札幌 第二部
cactusman
 
システム開発を前進させるためのGradle導入法
Takuma Watabiki
 
Gradle a new Generation Build Tool
Shinya Mochida
 
Jjug 20140430 gradle_advanced
Masatoshi Hayashi
 
Heroku java
Kazuyuki Kawamura
 
Jjug 20140430 gradle_basic
Takuma Watabiki
 
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
 

What's hot (20)

PDF
OSS Product feat. Gradle
Yasuharu Nakano
 
PDF
Gradleどうでしょう
Takuma Watabiki
 
PPTX
[JavaDo] JAX-RS ハンズオン 第2部
haruki ueno
 
PPTX
Jenkins と groovy
Kohsuke Kawaguchi
 
PDF
Gradle handson
Nemoto Yusuke
 
PDF
Gradle布教活動
Nemoto Yusuke
 
PDF
TDD勉強会キックオフ for Java
Yuta Kawadai
 
PPTX
TDC20111031_Groovy_Geb
Nobuhiro Sue
 
PDF
Gws 20141024 gradle_intro
Nobuhiro Sue
 
PPTX
Jenkins user conference 東京
Kohsuke Kawaguchi
 
PDF
Head toward Java 13 and Java 14 #jjug
Yuji Kubota
 
PPTX
Gradle入門
orekyuu
 
PPTX
Webアプリのシナリオテスト自動化を運用に乗せるまでの10のステップ
Naoki Iwami
 
ODP
Nseg20120929
hiro345
 
PDF
WildFly Swarmではじめる「パーツとしてのJavaEE」
Hiroaki NAKADA
 
PPTX
はじめてのSpring Boot
なべ
 
PDF
Catch up Java 12 and Java 13
Yuji Kubota
 
PDF
Mavenへのはじめの一歩
祐理 大野
 
PDF
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
 
PDF
大規模な負荷でもドキドキしない為のJava EE
Taiichilow Nagase
 
OSS Product feat. Gradle
Yasuharu Nakano
 
Gradleどうでしょう
Takuma Watabiki
 
[JavaDo] JAX-RS ハンズオン 第2部
haruki ueno
 
Jenkins と groovy
Kohsuke Kawaguchi
 
Gradle handson
Nemoto Yusuke
 
Gradle布教活動
Nemoto Yusuke
 
TDD勉強会キックオフ for Java
Yuta Kawadai
 
TDC20111031_Groovy_Geb
Nobuhiro Sue
 
Gws 20141024 gradle_intro
Nobuhiro Sue
 
Jenkins user conference 東京
Kohsuke Kawaguchi
 
Head toward Java 13 and Java 14 #jjug
Yuji Kubota
 
Gradle入門
orekyuu
 
Webアプリのシナリオテスト自動化を運用に乗せるまでの10のステップ
Naoki Iwami
 
Nseg20120929
hiro345
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
Hiroaki NAKADA
 
はじめてのSpring Boot
なべ
 
Catch up Java 12 and Java 13
Yuji Kubota
 
Mavenへのはじめの一歩
祐理 大野
 
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
 
大規模な負荷でもドキドキしない為のJava EE
Taiichilow Nagase
 
Ad

Similar to Jenkinsプラグイン開発 (20)

PDF
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
Toshiaki Maki
 
PDF
thymeleafさいしょの一歩
Yuichi Hasegawa
 
PPTX
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
 
PDF
Playbay Play 2.0 plugin イロハのイ
Kazuhiro Hara
 
PDF
sbtマルチプロジェクトビルドの使いどころ
Kazuhiro Hara
 
PDF
React Native GUIDE
dcubeio
 
PDF
Java ee6 with scala
Satoshi Kubo
 
PPT
Maven2 プラグイン入門
guestd4898b
 
PDF
Javaユーザに贈るJenkins 25のTips
Masanori Satoh
 
PPT
Struts2を始めよう!
Shinpei Ohtani
 
PPTX
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
 
PDF
Pf部2011年10月勉強会.1@androidsola
android sola
 
PDF
Try Jetpack
Hideaki Miyake
 
PPTX
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
Yuki Morishita
 
PPT
Maven2 plugin
Funato Takashi
 
PDF
scala-kaigi1-sbt
Kenji Yoshida
 
PPTX
Magento meet up Tokyo#1 for Design
Miho Nakano
 
PPTX
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
PDF
第12回 つ部 ミーティング兼忘年会 LT資料
Kenji Nagase
 
PDF
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
 
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
Toshiaki Maki
 
thymeleafさいしょの一歩
Yuichi Hasegawa
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
 
Playbay Play 2.0 plugin イロハのイ
Kazuhiro Hara
 
sbtマルチプロジェクトビルドの使いどころ
Kazuhiro Hara
 
React Native GUIDE
dcubeio
 
Java ee6 with scala
Satoshi Kubo
 
Maven2 プラグイン入門
guestd4898b
 
Javaユーザに贈るJenkins 25のTips
Masanori Satoh
 
Struts2を始めよう!
Shinpei Ohtani
 
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
 
Pf部2011年10月勉強会.1@androidsola
android sola
 
Try Jetpack
Hideaki Miyake
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
Yuki Morishita
 
Maven2 plugin
Funato Takashi
 
scala-kaigi1-sbt
Kenji Yoshida
 
Magento meet up Tokyo#1 for Design
Miho Nakano
 
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
第12回 つ部 ミーティング兼忘年会 LT資料
Kenji Nagase
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
 
Ad

Recently uploaded (11)

PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 

Jenkinsプラグイン開発

  • 2. アジェンダ 開発に必要なもの 開発環境準備 プラグインの作成方法 Eclipse で開発 プラグインの Debug
  • 3. 開発に必要なもの JDK Maven Eclipse アイディア
  • 4. 開発環境準備( JDK ) 下記のサイトから JDK をダウンロードし、インストールします。 http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html ここでは、 JDK 6 update 26 を利用します。
  • 5. 開発環境準備( JDK ) 環境変数を設定します。 JAVA_HOME : C:\Program Files\Java\jdk1.6.0_26 PATH : 既存の設定値に「 %JAVA_HOME%\bin 」を追加します。 (上記の JAVA_HOME には、デフォルトの設定でインストールしたときのパスを設定しています。インストールパスを変更している場合は、環境にあったパスを設定してください。)
  • 6. 開発環境準備( Eclipse ) 下記のサイトから Eclipse Indigo (3.7) をダウンロードします。 http://www.eclipse.org/downloads/ ここでは、 Eclipse IDE for Java Developers を利用します。
  • 7. 開発環境準備( Eclipse ) ダウンロードしたパッケージを適当なフォルダに解凍します。 ここでは、「 C:\ 」に解凍します。
  • 8. 開発環境準備( Eclipse ) eclipse.exe を実行し、 Eclipse を起動します。 workspace の設定では、「 .\workspace 」と設定し、「 OK 」ボタンをクリックします。
  • 9. 開発環境準備( Eclipse ) メニューより「 Window 」-「 Preferences 」を選択する。 サイドメニューから「 Maven 」-「 Installations 」を選択します。 「 Add… 」ボタンで先ほど設定した Maven 2.2.1 のフォルダを追加し、追加された Maven にチェックを入れます。
  • 10. 開発環境準備( Maven ) 下記のサイトから maven をダウンロードします。 http://maven.apache.org/download.html ここでは、 Maven 2.2.1 を利用します。
  • 11. 開発環境準備( Maven ) ダウンロードした Maven を適当なフォルダに解凍します。 ここでは、「 C:\ 」に解凍します。
  • 12. 開発環境準備( Maven ) 環境変数を設定します。 MAVEN_HOME : C:\apache-maven-2.2.1 PATH : 既存の設定値に「 %MAVEN_HOME%\bin 」を追加します。 (上記の MAVEN_HOME には、解凍先のフォルダを設定します。)
  • 13. 開発環境準備( Maven ) Jenkins 用の Maven 設定ファイルを準備します。 設定ファイル: %USERPROFILE%\.m2\settings.xml ( Linux : ~/.m2/settings.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>maven.jenkins-ci.org</id> <url>http://maven.jenkins-ci.org/content/groups/artifacts/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven.jenkins-ci.org</id> <url>http://maven.jenkins-ci.org/content/groups/artifacts/</url> </pluginRepository> </pluginRepositories> </profile> </profiles> </settings>
  • 14. プラグインの作成方法 下記の Maven コマンドを実行します。 > mvn -cpu hpi:create 下記のメッセージが表示されたらパッケージ名、プラグイン名を入力します。 パッケージ名: Enter the groupId of your plugin: <パッケージ名> プラグイン名: Enter the artifactId of your plugin: <プラグイン名>
  • 16. プラグインの作成方法 下記の Maven コマンドを実行して試しにビルドします。 > mvn package mvn package : クラスファイルを JAR や WAR などの配布形式にまとめます。 Jenkins のプラグインでは、 hpi 形式にまとめます。 hpi ファイルは、 target フォルダ内に作成されます。
  • 17. サンプルプラグイン 作成された hpi ファイルは、 Jenkins にインストールすることができます。
  • 18. サンプルプラグイン ビルド手順に「 Say hello world 」が追加されます。 ビルドを実行するとコンソールに「 Hello, Sample! 」と出力されます。
  • 19. Eclipse で開発 下記のコマンドを実行して Eclipse のプロジェクトを作成します。 > mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse
  • 20. Eclipse で開発 作成した Eclipse のプロジェクトをインポートします。
  • 21. プラグインの Debug 下記のコマンドを実行して Debug 環境を準備します。 > set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n > mvn hpi:run Debug 環境には、「 http://localhost:8080/ 」でアクセスします。
  • 22. プラグインの Debug Eclipse を起動し、インポートしたプロジェクトで右クリックします。 「 Debug As 」-「 Debug Configurations 」をクリックします。
  • 23. プラグインの Debug 「 Remote Java Application 」で Debug の設定を行います。 設定内容はデフォルトのままとし、「 Debug 」ボタンをクリックします。
  • 24. プラグインの Debug 「 Breakpoint 」を設定し、 「 http://localhost:8080/ 」で操作すると Breakpoint で停止します 。
  • 25. デバッグする Jenkins のバージョン プラグインフォルダの直下にある pom.xml ファイルを開きます。 「 parent 」-「 Version 」をデバッグ対象とする Jenkins バージョンに変更します。 変更後は再度「 mvn hpi:run 」を実行します。