ikeike443のブログ

ソフトウェアビジネスに関心がある系のブログ

sbtとJenkinsを使ってMavenリポジトリへ成果物をパブリッシュするのってどうするのが正しいの

ですか?


Mavenでビルドしているなら、ジョブ作成の時に「Maven2/3プロジェクトのビルド」を選択してやれば、ビルド後の処理として「Mavenリポジトリへ成果物をデプロイ」が選べますよね。
f:id:ikeike443:20130124184451p:plain


sbtでビルドしている場合は「フリースタイルビルド」で作らざるを得ず、上記の機能が使えません。

その場合、ビルドの「シェルの実行」にて下記のように指定すれば、testが成功した時だけpublishが実行されるようにできます。これでだいたい同じ事ができますね。

JAVA_HOME=/usr/java/default/ /usr/bin/sbt clean scct:test publish

一行で書くのがミソです。sbt publishを単体で実行すると、testの成功/失敗に関わらずpublishが実行されてしまうのでまずいです。