オリジナル: Plugin Tutorial このドキュメントでは hello-worldプラグイン とともにプラグイン開発の始め方を示しています。 プラグインは何ができるの?Jenkins では拡張ポイントを定義しています。それはビルドシステムのある側面をモデル化したインターフェースもしくは抽象クラスです。これらのインターフェースでは実装する必要があるものを定めており、Jenkins ではプラグインがこの実装にコントリビュートすることを許可しています。拡張ポイントについてもっと知りたい場合はこのドキュメントを見てください。 このドキュメントでは、ビルダー を実装してhelloと出力します。(ビルトインのビルダーはAnt, Maven, シェルスクリプトを含みます。ビルダーはプロジェクトをビルドします。) 他のリソースこのチュートリアル以外にも他のチュートリアルや例を下記から参照することができます。
環境の準備プラグインを開発するためには Maven 2 (なぜ?) と JDK 6.0以降が必要です。もしMavenを使うのが初めてならインターネットから資料をダウンロードして確認してみてください。. Nexus ユーザーの場合: Nexus Maven Repository Manager を利用している場合、この手順をする必要はありません。そのかわりに、こちら に従って、事前準備と適切な 比較的新しいMaven(つまり2.0.9以降)で下記の記述を <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> ここではJenkins Mavenプラグインの略称を使います(つまりorg.jenkins-ci.tools:maven-hpi-plugin:1.61:createの代わりにhpi:create)。 Maven2.0.9より古いバージョンを使っている場合は、さらに 追加のステップが必要です。 新規プラグインの作成新規プラグインを作るためには以下のようにmavenコマンドを実行します。 $ mvn -cpu hpi:create ここでいくつか質問されます。それはgroupId(これはmaven用語でパッケージ名です)やartifactId(これはmaven用語でプロジェクト名です)といったものです。そして開発するプラグインのスケルトンが生成されます。これをビルドして確認してみましょう。 $ cd newly-created-directory $ mvn package 説明: -cpu 関連あるMavenプラグインをすべて更新します。 プラグインのビルド下記のように、 $ mvn install IDEでの生産的な環境の作り方NetBeansNetBeansユーザはプロジェクトディレクトリを開くことによりIDEのMavenサポートを受けることができます(6.7以降にバンドルされています。6.5ではプラグインマネージャから利用可能です)。アーキタイプも新規プロジェクトダイアログから利用可能です。 IntelliJ IDEAIntelliJ7.0以降のユーザはIDEからpom.xmlをロードすることができます。ライブラリやJenkins coreのコードを隅々まで見るとよいでしょう。 IntelliJのMavenはデフォルトでソースとJavaDocをオンデマンドにダウンロードします。だからソースを見るためには EclipseEclipse 3.2にはバグ (詳細.)があるのでEclipse3.3以降を使いましょう。 $ mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse 代替策として、Eclilpseユーザは maven2 eclipse プラグインをインストールしてIDEでMavenプロジェクトディレクトリを開くこともできます。 もし Unable to find a plugin class. Did you put @plugin in javadoc? というエラーメッセージに遭遇したら、これはEclipseとMavenの両方がビルドの出力ディレクトリを使うことが原因です。mavenでビルドする前に mvn clean を実行するか出力先を変更してください。 プラグインのワークスペースのレイアウトプラグインのワークスペースは以下に示す主要なものから成り立っています。 pom.xmlMavenはプラグインをビルドするためにこれを使います。 src/main/javaプラグインのJavaソースファイル src/main/resourcesプラグインのJelly/Groobyビュー 詳細はこのドキュメント を見てください。 src/main/webappイメージやHTMLファイルなどプラグインの静的なリソース ソースコードソースコードを見てみましょう。プラグインのメインエントリポイントは Pluginを継承したPluginImplクラスです。Jenkinsは ( 多くの場合プラグインクラスは単に 拡張ポイントを登録してるだけです。あなたのメインの仕事は拡張ポイントを実装することです。詳しくは プラグインのデバッグNetBeans 6.7以降のユーザは単に*デバッグ*と押すだけです。他の人はあなたのプラグイン付きのJenkinsを起動するために以下のコマンドを実行してください。 mvnDebug hpi:run Unix: $ export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n" $mvn hpi:run Windows: > set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n > mvn hpi:run ブラウザで いったん起動したら実行しつづけます。Jettyは変更を自動的に検知します。
ポートの変更Jenkinsを8080以外のポートで起動する必要があるならシステムプロパティ $ mvn hpi:run -Djetty.port=8090 コンテキストパスの設定maven-hpi-plugin 1.65 以降 (parent pom が 1.401 以降) では、system propertyを利用して、コンテキストパスを指定できます。 $ mvn hpi:run -Dhpi.prefix=/jenkins プラグインの配布プラグインの配布イメージを作るには以下のようにMavenゴールを実行してください。 $ mvn package これにより プラグインのjenkins-ci.orgへのホスティングここまできたらあなたのプラグインをjenkins-ci.orgにホスティングすることを考えるべきでしょう。やり方は このドキュメントをみるといいでしょう。 他のtips
|
1 Comment
Anonymous
Not tolerance of others, is unworthy of tolerance by others,louis vuitton outlet but who can say oneself is not to need tolerant?