我需要設置什麼插件和插件功能才能讓我的Jenkins作業觸發構建任何時候將代碼提交給SVN項目?我已經安裝了標準的SVN插件以及SVN標籤插件,但沒有看到任何允許進行觸發器配置的新功能。Jenkins CI:如何在SVN commit上觸發構建
回答
有兩種方法去了解這一點:
我建議第一個選項最初,由於其易於實施。一旦你在構建過程中成熟,切換到第二個。
民意調查的資料庫,看是否發生了變化。如果兩個提交在同一個輪詢間隔內進入,這可能會「跳過」一個提交。 Description of how to do so here,請注意第四個屏幕截圖,您可以在該作業上配置基於輪詢存儲庫(使用類似crontab的配置)的「構建觸發器」。
配置您的存儲庫以具有通知Jenkins生成需要啓動的post-commit掛鉤。 Description of how to do so here,在部分「提交後鉤」
的SVN標籤特徵不是輪詢的一部分,它是促進源代碼的當前「頭」標籤的一部分,進行快照的建立。這允許您將Jenkins buid#32稱爲SVN標籤/標籤/ build-32(或類似的東西)。
後提交鉤岩石。更快的響應時間,並且(按比例)您的CI系統不會用數百個更改日誌請求壓縮源回購。 – EricMinick 2012-04-05 15:22:30
@EricMinick他們很棒,但有時他們可以融化CI服務器,如果你在很短的時間內得到很多小的提交。這些課程都是馬匹,如果不分析你的開發過程當前如何運作,很難知道哪種方法是有利的。 – 2012-04-05 15:27:27
@EdwinBuck:你知道有沒有辦法將Jenkins配置爲僅構建選擇性提交?我會解釋一下,我有一個tortoiseSVN和一個Jenkins項目,它繼續輪詢存儲庫。現在,如果我希望我所做的承諾不應觸發Jenkins,是否有辦法做到這一點? – 2015-01-05 20:04:35
我做了一個工具,使用Python與一些bash觸發jenkins構建。基本上,你必須收集來自這兩個值的post-commit在commit打SVN服務器:
REPOS = 「$ 1」 REV = 「$ 2」
然後使用「svnlook的迪爾斯 - 改變$ 1 - [$ 2 「以獲得剛剛承諾的道路。然後,你可以檢查你想建立的存儲庫。想象一下你有幾十萬個項目。你不能檢查整個存儲庫?
您可以從github
檢查出我的劇本我寫這個劇本,因爲我剛剛學習Python,和現在仍在使用它。我計劃改進它,但新項目和新事物一直支持着我。大家對Python有很好的瞭解肯定有更好的內置工具。如果任何人都可以分享,會喜歡擁有它。
你可以使用post-commit鉤子。
將提交後掛鉤腳本放入hooks
文件夾中,在C:\驅動器中創建一個wget_folder
,並將wget.exe
文件放入此文件夾中。 添加以下代碼文件中稱爲post-commit.bat
SET REPOS=%1
SET REV=%2
FOR /f "tokens=*" %%a IN (
'svnlook uuid %REPOS%'
) DO (
SET UUID=%%a
)
FOR /f "tokens=*" %%b IN (
'svnlook changed --revision %REV% %REPOS%'
) DO (
SET POST=%%b
)
echo %REPOS% ----- 1>&2
echo %REV% -- 1>&2
echo %UUID% --1>&2
echo %POST% --1>&2
C:\wget_folder\wget^
--header="Content-Type:text/plain"^
--post-data="%POST%"^
--output-document="-"^
--timeout=2^
http://localhost:9090/job/Test/build/%UUID%/notifyCommit?rev=%REV%
在作業
echo
的測試=名稱用來看到價值,你也可以在末尾添加exit 2
瞭解的問題, post-commit鉤子腳本是否正在運行。
你們會推薦使用GitHub代替SVN來觸發構建嗎? 其實我只是知道SVN,但我想知道爲什麼這麼多人傾向於使用GitHub。
你只需要一個插件,這是一個顛覆插件。 然後 簡單地說,走進jenkins-> job_name->構建觸發部分 - > (我)觸發建立遠程(即從腳本) 身份驗證令牌:-Token_name
然後去SVN服務器掛鉤目錄,然後起火後以下命令: - (a)cp post-commit.tmpl post-commit (b)chmod 777 post-commit (c)chown -R www-data:www-data post-commit (d)vi post-提交 說明:所有行都應該註釋 最後加上一行 synta X(爲Linux用戶): - 在/ usr /斌/捲曲http://username:[email protected]:8081/job/job_name/build?token=Token_name
語法(視窗用戶): - C:/ curl_for_win /捲曲http://username:[email protected]:8081/job/job_name/build?token=Token_name
[觸發哈德森生成時使用svn commit](的- 1. 如何使用svn post-commit觸發jenkins構建?
- 2. Post-Commit Hook觸發自動Jenkins構建
- 3. jenkins - 觸發基於git commit的構建
- 4. svn multibranch在jenkins ci中更改基礎
- 5. Openshift - 觸發Jenkins構建在git push上
- 6. 如何觸發Jenkins從cURL構建?
- 7. 使用Jira觸發Jenkins構建
- 8. 無法觸發jenkins作業svn post-commit掛鉤
- 9. 如何在Perforce上觸發Jenkins構建提交
- 10. 我可以使用jenkins觸發在另一個jenkins上構建
- 11. Jenkins CI如何設置一個項目的構建觸發器是可選的
- 12. svn post-commit調用jenkins構建http失敗
- 13. 詹金斯CI:如何觸發建立特殊的svn評論
- 14. Jenkins的「觸發器構建」服務不會觸發構建
- 15. jenkins如何在gitlab發生更改時觸發構建
- 16. 我如何才能知道如何在Jenkins中觸發構建
- 17. 讓jenkins從mercurial commit構建項目
- 18. Jenkins構建管道調度觸發器
- 19. Jenkins構建觸發器不顯示
- 20. 評論觸發器jenkins構建
- 21. 從TestRail觸發一個Jenkins構建
- 22. 如何防止在Jenkins中觸發下游項目構建?
- 23. 如何使用perforce在jenkins中觸發構建
- 24. 如何在Jenkins中一次遠程觸發一次構建?
- 25. 如何在更新RSS時使Jenkins觸發構建?
- 26. 如何在觸發遠程構建後從Jenkins獲得響應
- 27. Jenkins git觸發構建不阻止
- 28. 從BitBucket合併觸發Jenkins構建
- 29. Jenkins管道 - 在GitHub PRs上自動構建觸發器?
- 30. 在Jenkins多分支管道上觸發的重複構建
可能重複的HTTP ://sackoverflow.com/questions/4792466/trigger-hudson-build-when-svn-commit) – highlycaffeinated 2012-04-04 15:28:49