おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

JenkinsでHockeyAppへのアップロードを下流Jobにする

まえおき

JenkinsでHockeyAppへのバイナリアップロードを別ジョブとして切り離す方法です。
Jobを切り離さない場合、ジョブが失敗した時にビルド自体が失敗したのかアップロードが失敗したのか分かりづらい、さらにビルド時間とアップロードにかかる時間が一即多になってしまい純粋なビルド時間が分かりづらいといったことが起こってしまいます。

ビルドJob(上流Job) ---> HockeyAppへのアップロードJob(下流Job)

Jobを切り離すことで以下のメリットが期待できます

  • Job失敗原因が特定しやすい
  • Jobの実行時間が分かりやすくなる

やり方

まずは上流のビルドJobを作成します。 上流Jobでは成果物の保存を行います。

f:id:orange_lily27:20180505211103p:plain

[ビルド後の処理追加] -> [成果物の保存]を追加する

次にHockeyAppアップロード用の下流Jobを作成します。 f:id:orange_lily27:20180505211739p:plain

「ビルド・トリガ」で「他プロジェクトの後にビルド」を設定します。

次に上流Jobでの成果物をコピーします。 「CopyArtifactPlugin」を導入します。

[ビルド手順の追加]で[他プロジェクトから成果物をコピー]を選択して以下のように設定します。 f:id:orange_lily27:20180505212153p:plain

あとはビルド後の処理でHockeyAppへのアップロードをします。 HockeyAppへのアップロードはHockeyAppPluginを導入することで簡単にできます。

f:id:orange_lily27:20180506003851p:plain

以上でビルドJobとHockeyAppへのアップロードのJobを切り離して実行することができます。