靠近我的編譯控制檯的頂部,我看到一個「Last Built Revision:」帶有一個修訂號#。我如何在構建腳本中訪問最後一次構建的rev#?我正在使用Gradle,但我認爲這不重要。詹金斯是否在系統屬性中提供了最後一次生成的rev#?當然這必須是微不足道的,從我的構建腳本訪問...如何根據jenkins訪問上次構建的修訂版?
回答
我不認爲Git插件可出口的最後修訂建作爲一個環境變量,但信息容易獲得,使用簡單的shell命令,如:
curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()"
BUILD_URL總是指向構建自己的網頁和信息的休息似乎使用XML API可用。
目前集結號作爲詹金斯變量BUILD_NUMBER提供
- 在Unix可以設置爲你爲$ { BUILD_NUMBER}
- 在Windows中可用的是%BUILD_NUMBER%
變量的完整列表,我
HTTP:提供您的詹金斯的服務器上,在s // [您的詹金斯服務器]/ENV-vars.html
您可以直接訪問Jenkins BUILD_NUMBER
作爲系統環境變量。
task getBuildNumber << {
ext.env = System.getenv()
ext.buildNumber = env.BUILD_NUMBER?.toInteger()
println "Build Number: $buildNumber"
}
'env.BUILD_NUMBER'不包含VCS版本,但是Jenkins的版本號在某些情況下很有用,但據我所知它不是OP所要求的 – 2017-12-15 13:37:41
原來,Git插件會將最後的構建版本導出爲環境變量。因此,而不是使用公認的答案:
curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()"
你可以用這個來代替:
GIT_PREVIOUS_COMMIT
一個failproof方式,看看到底什麼是提供給您的構建腳本是選擇Add Build Step > Execute Shell
則只需添加以下:
export
查看你的控制檯(對於構建),你應該看到很多偉大的環境變量可供你使用。這是提供給我的混帳相關的變量(使用Git的插件)分別爲:
GIT_AUTHOR_EMAIL
GIT_AUTHOR_NAME
GIT_BRANCH
GIT_COMMIT
GIT_COMMITTER_EMAIL
GIT_COMMITTER_NAME
GIT_PREVIOUS_COMMIT
GIT_URL
最後,以查看可用的環境變量的不全面列表,你也可以去這個網址:http://[your-jenkins-domain-and-port]/env-vars.html
請注意,這些變量不是可用(尚未)在管道插件下,等待解決[JENKINS-35230環境變量的git插件不能在管道腳本中工作](https:// issues。jenkins-ci.org/browse/JENKINS-35230) – 2016-10-14 04:48:37
- 1. atlassian jenkins:上一次成功構建的簽出修訂版
- 2. Jenkins建立在上次更改的修訂版本上
- 3. Jenkins在GitHub上構建'無法找到當前修訂版'
- 4. 如何檢索構建事件的主要/次要/構建/修訂版號
- 5. 驗證SVN + Jenkins的所有修訂版
- 6. 訪問當前修訂版本號
- 7. 訪問heroku部署修訂版
- 8. mysql使用上次修訂版的值選擇所有訂單
- 9. 如何使用CruiseControl.NET和SVN構建特定修訂版
- 10. 修復構建Jenkins特權
- 11. 修改Jenkins描述構建
- 12. 如何自動跟蹤構建版本中的SCM修訂版本?
- 13. HEAD修訂版問題
- 14. Jenkins構建問題
- 15. 如何根據某些條件設置Jenkins構建名稱
- 16. Jenkins - 訪問構建日誌,工件,上游構建的git-commit更改日誌
- 17. 我如何讓jenkins構建Subversion版本庫的每個版本
- 18. Jenkins - 如果構建失敗,則部署上次成功構建的構件
- 19. 在Jenkins推廣構建時,如何在Mercurial中標記特定修訂?
- 20. 如何訪問Jenkins從Groovy Postbuild插件構建工件?
- 21. Jenkins:如何從命令行訪問構建(lastBuild/api/json)細節
- 22. 如何在Jenkins中使用SVN修訂版設置c#程序集版本
- 23. 如果最新版本修復失敗,如何重建Jenkins作業與舊的穩定git修訂
- 24. 訪問Jenkins在構建腳本中構建日誌
- 25. 如何根據上次成功jenkins構建的時間發送自動電子郵件
- 26. 從jenkins構建git項目時,它顯示一個錯誤,如找不到任何修訂版本
- 27. 訪問上次更改的版本
- 28. 如何在jenkins上構建cpp代碼?
- 29. 如何定期在Jenkins上構建?
- 30. 在編譯的GWT包中可訪問的SVN修訂版號
評論這裏,因爲這是獲得詹金斯內部編號的正確答案。但是,如果您的問題是關於Mercurial存儲庫的版本號,那麼您需要從克隆存儲庫「hg id -n」中執行以下命令,然後適當地指導輸出(即將其讀入一個變量或日誌文件 – 2012-07-18 13:15:23