Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
66
Help us understand the problem. What is going on with this article?
@kazuqqfp

Jenkinsプラグインを開発する

More than 3 years have passed since last update.

Jenkinsプラグインを開発する

Jenkinsプラグインの開発〜ビルド〜インストールまでの手順をまとめました。
主に参考にしたのはここです。→https://wiki.jenkins-ci.org/display/JA/Plugin+tutorial

1. 前準備

mavenをインストールする

私はバージョン3.1.1を使いました。
古いバージョンだと開発での手順が増えるので、バージョンは最新を使った方が良いです。

Mavenのsetting.xml(apache-maven-3.1.1/conf/setting.xml)に下記を追記する

<pluginGroups>
  <pluginGroup>org.jenkins-ci.tools</pluginGroup>
</pluginGroups>

<profiles>
  <profile>
    <id>jenkins</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </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>

2. 新規プラグインのプロジェクトを作成する

以下のコマンドを実行します。

$ mvn -cpu hpi:create

作成中に以下の2つが聞かれます。

Enter the groupId of your plugin [org.jenkins-ci.plugins]: 
Enter the artifactId of your plugin (normally without '-plugin' suffix):

ここで入力した値がpox.xmlに書き込まれます。
groupIdは空欄で構いません。(公開時には削除します。)
artifactIdがプロジェクト名とpluginIdになります。
小文字のハイフン区切りにするのが慣例です。
例:sample-develop

3. プラグイン開発を行う

「2. 新規プラグインのプロジェクトを作成する」で、サンプルプロジェクトが作成されます。
このプロジェクトを編集してプラグインを開発します。
開発において参考にできる資料はほとんどないです。
私は以下を参考に開発を行いました。
拡張ポイント
javadoc
他の人が開発したプラグインのソースコード

4. プラグインのデバッグを行う

プロジェクト直下で以下のコマンドを実行して、デバッグが行えます。

$ mvn hpi:run

デフォルトでは8080ポートで、開発したプラグインがインストールされた状態でjenkinsが起動されます。

5. プラグインをビルドして、Jenkinsにインストールする

プロジェクト直下で以下のコマンドを実行して、ビルドします。

$ mvn package

ビルドに成功すると、/target/にhpiファイルが生成されます。

ビルドしたhpiファイルをjenkinsで利用するには、
「Jenkinsの管理」→「プラグインの管理」→「高度な設定」→「プラグインのアップロード」
から、hpiファイルをjenkinsにアップロードします。

開発したプラグインをJenkinsのアップデートセンターに公開する

開発したプラグインは簡単に公開できます。
こちらを参考にして下さい。→Jenkinsプラグインを公開する

66
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
66
Help us understand the problem. What is going on with this article?