Kürzlich habe ich begonnen, an CI-Projekt zu arbeiten, es muss das Projekt auf SCM-Commit (Git/SVN) bauen. Ich habe versucht, Build-Trigger remote zu verwenden, und es löst den Job aus, wenn ich den Code festlege und die Anwendung erfolgreich erstelle.Jenkins triggert einen Build basierend auf dem Commit in mehreren Projekten
Jetzt habe ich mehrere Projekte in einem einzigen Repository, also muss ich basierend auf meinem Commit das entsprechende Projekt im Repository finden und den spezifischen Job starten.
Gibt es eine Möglichkeit, dies in Jenkins zu tun?
-Code für post-commit-Hook-jenkins.vbs Datei
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
-Code für Post-commit.bat Datei
SET CSCRIPT=%windir%\system32\cscript.exe
SET VBSCRIPT=E:\Repositories\CICD\hooks\post-commit-hook-jenkins.vbs
"%CSCRIPT%" "%VBSCRIPT%" "JobName" "AuthenticationToken"
@SivamohanReddy: Gleich nachdem ich meine Antwort gepostet habe, habe ich angefangen zu denken, dass ich die Frage vielleicht falsch verstanden habe, also habe ich einen weiteren Absatz hinzugefügt. –
Vielen Dank für Ihre Antwort @Wim Coenen, haben wir irgendeine Probe solche Art von Haken Skripte auszulösen? und darüber hinaus habe ich alle Projekte in einem einzigen Repo –
In Ihrer Frage scheinen Sie zu implizieren, dass Sie bereits ein Skript an Ort und Stelle haben, die den Jenkins-Build auslöst, wenn ein Commit passiert. Es wäre am besten, das Skript der Frage hinzuzufügen, damit wir wissen, was Sie bereits haben, und dann können wir sehen, wie Sie es ändern können. –