2013-01-01 83 views
0

目前,我正在通過從shell腳本向Jenkins發佈幾個參數來啓動構建。我需要檢查構建是成功還是失敗,並且我想避免使用構建Jenkins腳本調用(我不希望Jenkins啓動在我的服務器上運行任何腳本),所以這個想法是發佈給Jenkins每10秒鐘左右(while building!= false),以便獲取具有各種構建參數的JSON對象。雖然這工作正常,如果我知道我想檢查的構建版本號,我似乎無法看到一個好方法來動態跟蹤當前的內部版本號,並確保我的腳本檢查構建它剛剛啓動,而不是其他一些正在運行的版本。動態識別Jenkins版本

潛在地,可能會在短時間內啓動多個構建,因此在開始構建之後立即張貼到jenkins/job/my_build_job/lastBuild/api/json,並且在給定種族情況問題時檢查該數字看起來不恰當。

如何從我的服務器上的腳本動態地跟蹤特定的構建,以便檢查由cron調用的帖子啓動的構建是否成功或失敗?有沒有可能的方式來命名一個版本,所以我可以用BUILD_NAME啓動它,然後發佈到jenkins/job/my_build_job/BUILD_NAME/api/json

+0

如果你不使用Jenkins來跟蹤和管理你的構建,你使用了什麼?似乎你會遇到很多麻煩,想出辦法去做Jenkins已經爲你做的事情。 – regulatethis

+0

@regulatethis儘管有些作業不僅僅是通用的CI構建,還有一些是根據請求構建的svn特定標記(請求是shell腳本發佈給jenkins),因此它需要是動態的。這也是爲什麼我想不通過最終構建步驟來啓動腳本的原因,以避免在非專業構建中調用此腳本。 –

+0

難道你沒有一個參數化的版本,需要SVN標籤並構建該版本? – regulatethis

回答

0

有幾個不同的API調用就可以使:

jenkins/job/my_build_job/api/json?tree=lastBuild[number] 

會給你要麼最後完成的構建或當前構建正在進行中

jenkins/job/my_build_job/api/json?tree=nextBuildNumber 

會給你未來建設數量 - 這包括排隊等待資源的構建。