Promoted Build Plugin
をJenkins
からインストールしましたが、現在、既存のジョブからビルドを促進するためにいくつかの問題に直面しています。シナリオは次のとおりです。
既存のNightly Build
ジョブがあり、毎晩実行され、必要なすべてのテストとメトリックを実行します。
パラメーター$ {BUILD_NUMBER}を受け入れ、Deploy Build
から対応する$ {BUILD_NUMBER}を持つビルドをデプロイする既存のNightly Build
があります
ここまでは順調ですね。 Build Promotions
を追加したい部分です...
Nightly Build #39
からDeploy Build
(既にビルドされていることに注意してください)を昇格させる方法はありますか? `ここで失われたものの種類:(
明確なアップストリーム/ダウンストリームの関係ではありません。なぜなら、これらには以下がないためです。実行中に常にこのビルドを実行し、次に他のビルドを実行します。 [Nightly Build]の後。
マークされた回答は、質問の優れた説明です。しかし、「ジェンキンスから特定のビルド番号を昇格する方法」を探している人々のための解決策を提案したいと思います
CURLとREST APIを使用してフォースプロモーションを行うために一般化されたソリューションを使用できます。ShellまたはGroovyスクリプトからcurlを実行できます。
[〜#〜] curl [〜#〜] を使用したシェルソリューション
user_name="jenkins_user"
user_token="token"
promotion_name="Test_Promote"
jenkins_url="http://build-server.com"
JOB_NAME="job_name"
JOB_NO="job-no"
url="--silent -u $user_name:$user_token $jenkins_url/job/$JOB_NAME/$JOB_NO/promotion/forcePromotion?name=$promotion_name"
curl $url
Groovy Soultion:
user_name="jenkins_user"
user_token="token"
promotion_name="Test_Promote"
jenkins_url="http://build-server.com"
JOB_NAME="job_name"
JOB_NO="job-no"
def response = "curl -u $user_name:$user_token \" $jenkins_url/job/$JOB_NAME/$JOB_NO/promotion/forcePromotion?name=$promotion_name".execute().text
Jenkinsユーザートークンを生成する方法: https://jenkins.io/blog/2018/07/02/new-api-token-system/