最近CIプロジェクトの作業を開始しました。SCMコミット(Git/SVN)でプロジェクトをビルドする必要があります。ビルドトリガをリモートで使用しようとしましたが、コードをコミットしてアプリケーションを正常に構築すると、ジョブがトリガされます。Jenkinsが複数のプロジェクトでコミットに基づいてビルドを起動する
私は1つのリポジトリに複数のプロジェクトを持っているので、私のコミットに基づいてリポジトリ内のそれぞれのプロジェクトを見つけ出し、特定のジョブの実行を開始する必要があります。
ジェンキンスでこれを行う方法はありますか?ポストコミットフック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:私の答えを投稿した直後、私はおそらく質問を誤解していると思ったので、別の段落を追加しました。 –
あなたの答えに感謝@ウィムCoenen、我々はトリガーするフックスクリプトのようなサンプルがありますか?さらに、私はすべてのプロジェクトを単一のリポジトリに持っています –
あなたの質問には、コミットが発生したときにジェンキンスビルドをトリガーするスクリプトが既に用意されていることを暗示しているようです。そのスクリプトを質問に追加して、あなたがすでに持っているものを知っていることを確認してから、それを修正する方法を見ることができます。 –