パラメータ化されたトリガープラグインのバージョン2.23以降の更新:
バージョン2.23以降では、動作が変更されました(指摘してくれたAbhijeetKambleに感謝します)。呼び出し(ビルド)ジョブの事前定義パラメーターセクションによって渡されるパラメーターは、呼び出された(デプロイ)ジョブに存在する必要があります。さらに、呼び出されたジョブのパラメーターの制限が適用されるため、呼び出されたジョブのパラメーターが選択である場合は、(プロモーションからの)すべての可能な値が事前に入力されている必要があります。または、Textパラメータタイプを使用します。
解決
はい、まったく同じセットアップがあります。ビルドジョブ(SVNコミットに基づく)と手動で実行されたデプロイジョブです。ユーザーがビルドジョブ(古いビルドを含む)からビルドを選択すると、[プロモーションステータス]リンクに移動して、さまざまなデプロイプロモーション(DEVへのデプロイ、QAへのデプロイなど)を実行できます。
ビルドジョブでプロモーションを設定する方法は次のとおりです。
- 次のプラグインが必要になります:パラメータ化されたトリガープラグイン、プロモートビルドプラグイン
- また、このビルドジョブでデフォルトのアーカイブアーティファクトのビルド後アクションを設定する必要があります。
- チェックマーク[ビルドをプロモートする]
- 名前「DeploytoDEV」を定義します
- 基準チェックマークの下で手動で承認された場合のみ
- [アクション]で、他のプロジェクトでトリガー/呼び出しビルドを使用します
- ビルドするプロジェクトで、ここにデプロイジョブの名前を入力します
- トリガーされたプロジェクトがビルドを完了するまで、[ブロック]にチェックマークを付けます
- トリガーされたビルドが次の値以下の場合、このビルドを失敗としてマークします:FAILURE(デプロイジョブのステータスに応じて調整します)
- 事前定義されたパラメータ (コードA)
コードA:
Server=IP_of_my_dev_server`
Job=$PROMOTED_JOB_NAME`
BuildSelection=<SpecificBuildSelector><buildNumber>$PROMOTED_NUMBER</buildNumber></SpecificBuildSelector>
上記の[定義済みパラメーター]セクションで、=の左側の名前は、デプロイジョブで定義されているパラメーターです。=の右側には、このプロモーションの実行時にこれらのパラメーターに割り当てられる値があります。Server
3つのパラメータ、、Job
を定義しますBuildSelection
。
私のデプロイジョブは複数のサーバーにデプロイできるため、パラメーターServer=
は私自身のものです。ただし、デプロイジョブが常に特定の場所にデプロイするようにハードコーディングされている場合は、それは必要ありません。
Job=
パラメーターは必須ですが、パラメーターの名前は、デプロイジョブで設定した内容によって異なります(構成についてはそこで説明します)。値$PROMOTED_JOB_NAME
はそのままにしておく必要があります。これは、プロモーションプロセスが認識し、ビルドジョブの名前(プロモーションプロセスが構成されているジョブ)を参照する環境変数です。
BuildSelection=
パラメータは必須です。この行全体をそのままにしておく必要があります。渡された値はです$PROMOTED_NUMBER
。これもプロモーションが認識しています。あなたの例では、それはです#39
。
トリガーされたプロジェクトがビルドを完了するまでブロックするチェックマークを付けると、デプロイジョブが完了するまでプロモーションプロセスが待機します。そうでない場合、プロモーションプロセスは展開ジョブをトリガーし、成功して終了します。デプロイジョブが終了するのを待つことには、デプロイジョブが失敗した場合、プロモーションスターにも失敗のマークが付けられるという利点があります。
(ここで少し注意してください:プロモーションスターは、デプロイジョブの実行中に成功したように見えます。デプロイに失敗した場合、デプロイジョブが終了した後にのみ失敗に変わります。論理的です...しかし、次の場合は少し混乱する可能性があります。展開が完了する前にプロモーションスターを見てください)
デプロイジョブを設定する方法は次のとおりです
- アーティファクトのコピープラグインが必要になります
- このビルドではパラメータ化されています
- タイプChoice(またはText)のパラメーターを名前で構成します(この名前は、前のセクションのプロモーションの 事前定義パラメーター
Server
の構成と一致する必要があります)
- 選択肢:前のセクションでプロモーションの事前定義されたパラメーターによって使用される可能性のあるサーバーIPのリストを入力します(以下の更新ノートを参照) 。
- タイプChoice(またはText)のパラメーターを名前で構成します(この名前は、前のセクションのプロモーションの 事前定義パラメーター
Job
の構成と一致する必要があります)
- 選択肢:デフォルトとしてビルドジョブの名前を入力します。
これは、デプロイジョブを手動でトリガーする場合にのみ必要です。展開ジョブがプロモーションからトリガーされると、プロモーションは値(構成した事前定義されたパラメーターJob=
から)を提供します。また、プロモーションの事前定義されたパラメーターから渡された値がない場合は、最初に選択された値が使用されます。ビルドジョブとデプロイジョブの間に1対1の関係がある場合は、プロモーションの構成でパラメーターを省略できます。Job=
- 更新: パラメーター化トリガーのバージョン2.23以降、デプロイジョブ構成で使用可能な選択肢には、プロモーションの事前定義されたパラメーターから取得できるすべての可能な値が含まれている必要があります。その制限が必要ない場合は、「選択」の代わりに「テキスト」を使用してください
- コピーアーティファクトのビルドセレクタータイプのパラメーターを次の名前で構成します。
BuildSelection
- デフォルトセレクター:最新の成功したビルド
- ビルド手順の下
- 別のプロジェクトからのアーティファクトのコピーを構成する
- プロジェクト名に次のように入力します
${Job}
- どのビルドで選択するか
Specified by a build parameter
- パラメータ名に
BuildSelection
(${...}
!なしで)入力します
- ビルドジョブからデプロイジョブのワークスペースにコピーされるアーティファクトに応じて、残りを適切に構成します
- デプロイするために必要に応じて、デプロイジョブ内でコピーされたアーティファクトを使用します
したがって、上記のデプロイジョブを使用して、手動で実行し、デプロイするビルドジョブからビルド番号を選択できます(最後のビルド、最後に成功した、ビルド番号など)。おそらく、すでに非常によく似た構成になっています。ビルドジョブのプロモーションは基本的に同じことを実行し、実行されたプロモーションに基づいてビルド番号を提供します。
手順に問題がある場合はお知らせください。