2013-10-02 14 views
5

コンパイル用とデプロイ用の2つのJenkinsビルドがあります。Jenkinsのパラメータリスト別のビルドからビルド番号のリストを表示する

開発者は、デプロイビルドの実行時にコンパイラビルドからビルドを選択できるようにしたいと考えています。必ずしも最新のビルドを実行する必要はありません。

私が後にしているのは、コンパイルビルドから成功した\不安定なビルドのリストを使用して、deployビルドのchoiceパラメータを設定する方法です。

次に、パラメータにリストされているオプションを使用して、そのアーティファクトを展開します。

答えて

0

1つのオプションは、Promoted Builds pluginを使用して、展開する特定のビルドをマークすることです。これにより、デプロイメントビルドからコンパイルビルドに選択肢が移動します。コンパイルビルドでプロモートビルド...オプションを選択し、プロモーションの動作方法を設定します。開発者は、宣伝するビルドを選択(または自動化)できます。デプロイメントビルドでは、Copy Artifact pluginは適切なビルド(最新のプロモートビルドへのパーマリンクに基づいて)を取得できます。あなたの宣伝の仕事でDynamic Parameters plugin

使用

+0

ユースケースは、このシナリオで覆われているように見えます。私の会社では、展開が必要な場合とない場合がある、いくつかの異なる開発環境があります。また、特定のビルドを環境に複数回配備する必要がある場合もあります。私はこのシナリオがあなたの解決策の対象であると懐疑的です。 @Peter、同意した。 –

+0

シンプルなケースではプロモートビルドを使用し、異なるビルドを公開するにはリリース手順を使用しますが、説明したデプロイメントの複雑さはありません。 –

1

私が知る限り、choiceパラメータを設定することはできません。ただし、常に最新のビルドを使用する必要はありません。私はあなたがcopy artifact pluginを使用すると仮定します。このプラグインは、「アーティファクトをコピーするためのビルドセレクタ」パラメータを提供します。手動でビルド番号を入力する必要がありますが、展開する際には、「最新のビルド」や「特定のビルド」など、すべての標準的な選択肢があります。番号を入力する必要があり、ドロップダウンはありませんが、ビルド番号を入力するのに十分な訓練を受けた配備担当者がいます。

9

  • を[X]このビルドはどんな
  • にパラメータ
  • 動的選択肢パラメータ
  • セット名を追加
  • パラメータ化されています下の選択肢スクリプトに貼り付けてくださいwikiページから
import jenkins.model.Jenkins 
import hudson.model.AbstractProject 
import hudson.model.Result 
import hudson.util.RunList 

AbstractProject<?, ?> otherJob = Jenkins.getInstance().getItemByFullName("otherJobName", AbstractProject.class) 
RunList<?> builds = otherJob.getBuilds().overThresholdOnly(Result.SUCCESS) 

def list = builds.limit(5).collect { it.number } 

スクリーンショット:ビルドごとに展開の

Screenshot

関連する問題