Wenn ich den Job in Jenkins konfiguriere, sehe ich das folgende Build-Trigger-URL-Beispiel:
JENKINS_URL/job/pipeline/build?token=TOKEN_NAME
Ich sehe jedoch eine andere URL auf der Seite Subversion-Plugins:
http://server/subversion/${UUID}/notifyCommit?rev=$REV
Warum unterscheiden sich diese URLs? Dienen sie einem anderen Zweck? Ich gehe davon aus, dass das Kontaktieren der ersten URL den Jenkins-Build auslöst und der zweite die SVN-Arbeitskopie aktualisiert, die mit Build-Jobs verwendet wird.
Warum erfordert das Plug-in, dass die Repository-UUID in der URL vorhanden ist? Ist es für die svn:externals
Entdeckung erforderlich?
Jenkins hat mehrere verschiedene Build-Trigger. "Builds remote auslösen" ist ein solcher Build-Trigger und hat das folgende URL-Format:
JENKINS_URL/job/testgrid/job/testgrid/build?token=TOKEN_NAME
Der Hook-basierte Build-Trigger von Subversion ist ein weiterer Build-Trigger. Dies wird durch das Subversion-Plugin bereitgestellt, das sein eigenes Servlet/URL registrieren kann. Es gibt andere Plugins wie GitHub-Plugin (JENKINS_URL/github-webhook/
), generischer Webhook-Trigger (JENKINS_URL/generic-webhook-trigger/invoke
), die ebenfalls ihre eigenen URLs registrieren.
Dies sind verschiedene Möglichkeiten, Builds auszulösen. Je nach verwendetem Plugin können sie jedoch spezielle Funktionen bereitstellen. In Ihrem Fall mit dem Subversion-Plugin weist der Parameter $REV Jenkins an, genau die Revision zu überprüfen, die vom Hook gemeldet wurde.
Hier ist ein Screenshot des Build-Trigger-Bereichs mit aktivierten trigger builds remotely
und GitHub hook trigger
: