通常、成功した最新のビルドのアーティファクトを取得するには、以下のURLでwget
を実行します。
http://jenkins.com/job/job_name/lastSuccessfulBuild/artifact/artifact1/jenkins.txt
方法はありますか、wget
でlastSuccessfulBuild
を実行して、以下のようなbuild_id
を取得できますか?
build_id=`wget http://jenkins.p2pcredit.local/job/job_name/lastSuccessfulBuild`
はい、方法があり、それは非常に簡単です:
$ build_id=`wget -qO- jenkins_url/job/job_name/lastSuccessfulBuild/buildNumber`
$ echo $build_id
131 # that's my build number
Curlを使用して最後に成功したビルド番号を取得するには:
curl --user userName:password https:// url/job/jobName/api/xml?xpath = / */lastStableBuild/number
最善の解決策は、依存関係がゼロのgroovyを使用することです。
node {
script{
def lastSuccessfulBuildID = 0
def build = currentBuild.previousBuild
while (build != null) {
if (build.result == "SUCCESS")
{
lastSuccessfulBuildID = build.id as Integer
break
}
build = build.previousBuild
}
println lastSuccessfulBuildID
}
}
最後に成功したビルドIDを取得するためにjenkins_urlやjob_nameなどを指定する必要はありません。そうすれば、不要な設定なしで、リポジトリ内のすべてのJenkinsfileで簡単に使用できます。
Jenkins v2.164.2でテスト済み