jenkins,mavenと戯れる
いろいろな理由があって、素直な使い方ができなかったのでjenkinsのmaven設定を弄ってみた。
setting.xmlの変更
サーバにJenkinsを入れたけど、自分ではサーバに直接アクセスできない...
でもproxy通さないとセントラルリポジトリとかにアクセスできない。
Jenkinsでは、mavenのオプション設定でプロジェクト毎に異なった setting.xmlが使えるようになっている。設定すると"-s"オプションでパスを指定くれていました。
この設定は相対パスで指定するものみたいで、サーバのsetting.xmlとは違う設定を使いたい場合には、プロジェクトのリソースとしてsetting.xmlを持つということらしい。
jenkinsからmavenにdeployしたいときなんかには、リポジトリへの認証情報を持つこともあったり
sonarつかうときにも、認証情報とか書くので
そういう時に使えるのかなぁと。
でも、今回は共通で使うので次のようにしてみました。
1. svnにconfigというリポジトリを作成。
2. configジョブをマルチプロジェクト作って、svnとヒモ付。ビルドはなしのまま。
3. configを一回ビルド(トリガはっとけば、更新いらずに)
4. setting.xml指定で、../../config/workspace/maven2/setting.xml とする。
各プロジェクトで持たなくても、Jenkinsの設定で、--settings で設定してしまえば各プロジェクトで設定する必要がなくなる。そしたらフルパスでも良さそうだし。ソッチのほうがいいのかな。
ちなみに、-sは設定しても知らないって言われてしまった。
pom.xmlパスの変更
結果、失敗だった。
jenkinsのおためしのために違うpomを指定するために --file を使ってみた。そういう用に使うものじゃないことに設定してエラー言われてから気づいた。きっと、マルチプロジェクトでpomを指定するときに使うんだと思う。
ちなみにJenkinsさんは、-fオプションで指定くれていました。