最近我已經開始編寫CI項目了,它必須構建SCM commit(Git/SVN)上的項目。我嘗試遠程使用構建觸發器,當我提交代碼併成功構建應用程序時,它觸發作業。Jenkins觸發一個基於多個項目提交的構建
現在我在一個存儲庫中有多個項目,所以根據我的提交,它必須在存儲庫中找到相應的項目並開始執行特定的作業。
Jenkins有沒有辦法做到這一點?
代碼的post-commit-鉤jenkins.vbs文件
Set args = WScript.Arguments
JobName = args.Item(0)
Token = args.Item(1)
' URL to open
sUrl = "http://builduser:[email protected]:8080/buildByToken/build?job=" + JobName + "&token=" + Token
' POST Request to send.
WScript.Echo "sUrl: " + sUrl
sRequest = ""
HTTPPost sUrl, sRequest
Function HTTPPost(sUrl, sRequest)
set oHTTP = CreateObject("Microsoft.XMLHTTP")
oHTTP.open "POST", sUrl,false
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.setRequestHeader "Content-Length", Len(sRequest)
oHTTP.send sRequest
HTTPPost = oHTTP.responseText
End Function
代碼後commit.bat文件
SET CSCRIPT=%windir%\system32\cscript.exe
SET VBSCRIPT=E:\Repositories\CICD\hooks\post-commit-hook-jenkins.vbs
"%CSCRIPT%" "%VBSCRIPT%" "JobName" "AuthenticationToken"
@SivamohanReddy:在發佈我的答案後,我開始想我可能誤解了這個問題,所以我又添加了一段。 –
感謝您的回答@Wim Coenen,我們是否有任何這樣的鉤子腳本觸發示例?此外,我已將所有項目放入單個回購 –
在您的問題中,您似乎暗示您已經有一個腳本來觸發jenkins在發生提交時生成。最好將這個腳本添加到問題中,以便我們知道您已經擁有了什麼,然後我們可以看到如何修改它。 –