Jenkins Pluginを作成してみた。
Jenkins Pluginを作成/公開してみました。
Jenkinsから、リモートのJenkinsのタスクを起動できるプラグインです。
リモートのタスクが失敗すると、こちらのタスクも失敗で終わります。
複数チーム・複数プロダクトで出来上がるプロダクトを作るときにチームごとにJenkinsを分けて管理したい、とかいう時に使ってください。
で、Jenkinsプラグイン公開手順が、巷の情報や、本の情報だとうまく行かなかったので、ここで公開しておきます。
Jenkins Pluginのリリース中に
The git-clone command failed.
とか、
Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy (default-deploy) on project call-remote-job-plugin: Failed to deploy artifacts: Could not transfer artifact org.ukiuni.callOtherJenkins:call-remote-job-plugin:hpi:1.0.11 from/to maven.jenkins-ci.org (http://maven.jenkins-ci.org:8081/content/repositories/releases): Failed to transfer file: http://maven.jenkins-ci.org:8081/content/repositories/releases/org/ukiuni/callOtherJenkins/call-remote-job-plugin/1.0.11/call-remote-job-plugin-1.0.11.hpi. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
的なログが出たら、このページは役に立つかもしれません。
では、リリース手順。
1. githubリポジトリを作ります。
https://github.com/ukiuni/call-remote-job-plugin な感じです。
ハイフン区切り、小文字が習慣だそうです。
上げるべきファイルは
/src
pom.xml
だけです。あとは適時。mvnプロジェクトですと、targetフォルダとかできてると思いますが、それは必要ありません。.gitignoreファイルで設定してください。サンプルはこちら
2. jenkinsci.orgのアカウントを作ります。
こちらでアカウントを作成します。
3. ~/.m2/setting.xmlにjenkinsci.orgのアカウント情報を追記
こんな感じで、2でとったアカウントをsetting.xmlの末尾に入力します。
<settings>
・・・
<servers>
<server>
<id>maven.jenkins-ci.org</id>
<username>XXXXXX</username>
<password>XXXXXX</password>
</server>
</servers>
</settings>
4. メーリングリストにお願いをする。
日本Jenkinsユーザ会にお願いして、gitリポジトリのフォークと、jenkinsci.orgのコンポーネント追加をお願いします。
私がやったのは、こんなかんじでした。曽我部さん、ありがとうございました。
5. pom.xmlを修正する。
いくつか修正します。
の中身、バージョン名の最後は-SNAPSHOTにします。
タグをルートに追加します。4でフォークしてもらったリポジトリを追記。
<scm>
<connection>scm:git:ssh://github.com/jenkinsci/XXXXXXXX.git</connection>
<developerConnection>scm:git:ssh://[email protected]/jenkinsci/XXXXXXXX.git</developerConnection>
<url>https://github.com/jenkinsci/XXXXXXXX.git</url>
</scm>
6. gitにssh接続できるように設定します。
.ssh/configに接続情報を追記します。
Host github.com
HostName github.com
IdentityFile /Users/user/.ssh/github.key
User XXXXX
/Users/user/.ssh/github.key にはssh-genkeyで鍵を作って、chmod 600 して、githup.comに/Users/user/.ssh/github.key.pubをアップロードしておきます。
ssh [email protected]にアクセス(アカウントはgitのまま)して、
You've successfully authenticated, but GitHub does not provide shell access.
と表示されれば、OK.
7. リリースする。
mvnプロジェクトのある(pom.xmlのある)ディレクトリで、以下のコマンドを実行します。
mvn release:prepare release:perform
コツは-Dusernameと-Dpasswordをつけ「ない」こと。usernameとpasswordは本来jenkinsci.orgへの接続に使うものなのに、コマンドにつけちゃうと、github.comの接続にも使っちゃってビルドが失敗します。
以上で、無事リリースが完成します。
Author And Source
この問題について(Jenkins Pluginを作成してみた。), 我々は、より多くの情報をここで見つけました https://qiita.com/ukiuni@github/items/0e164ac69b4f3c9ac56a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .