Ich muss einen Job in Server1 nach dem erfolgreichen Abschluss eines Jobs in Server2 auslösen. Beide Server sind unter derselben Domäne.Wie kann ich einen jenkins Job nach erfolgreichem Abschluss eines anderen Jobs auslösen und beide Jobs laufen in verschiedenen Jenkins Server
Antwort
Bitte werfen Sie einen Blick auf die URLTrigger plugin für Jenkins.
Installieren Sie dieses Plugin auf dem Server1.
Auf Ihrem server1/Job, konfigurieren Sie bitte die Build-Trigger wie unten:
Wenn der Auftrag auf dem server2 abgeschlossen werden, der server1/Job wird eine Änderung auf dem buildnumber Attribut sehen. Es wird einen neuen Build auf Server1 auslösen.
Ich konnte das nicht funktionieren! :( –
Es ist seltsam, ich habe einen Test zwischen meiner Produktion und meinem Staging Jenkins-Server und es funktioniert. –
Wenn Sie einen jenkins-Master haben, können Sie die anderen Server als jenkins-Slaves hinzufügen und die Funktion node('[slave name]') { ... }
des Workflow-Plugins verwenden, um einen Build auf diesem Slave zu starten.
Ich möchte einen Auftrag in anderen Server und keinen Job in anderen Server ausführen. –
In diesem Fall können Sie einfach 'Build verwenden somejob' wo 'somejob' ein anderer Job ist, wo du' node ('anderer Servername') haben würdest ' – ebnius
@ebnius: Einen Jenkins Master zu einem Slave eines anderen Jenkins Master machen? Das * könnte * funktionieren, aber nicht das, was OP fragt: Er hat einen Job1 in JenkinsA und möchte Job2 in JenkinsB aufrufen. –
Haben Sie http://stackoverflow.com/questions/2674468/making-jenkins-hudson-job-depend-on-another-job überprüft? Ist das nicht ein ähnlicher Fall? –
Hier wird ein Job von einem anderen Job ausgelöst. Ich möchte, dass dies zwischen zwei Servern geschieht. (Der auslösende Job und der auslösende Job befinden sich auf verschiedenen Servern) –
"unter derselben Domain" könnte "Same Jenkins Operation Center" bedeuten, oder könnte einfach bedeuten, dass einige Namen gemeinsam verwendet werden. Im Allgemeinen, wenn Sie ein sicheres System haben (und Sie sollten), müssen Sie die Anmeldeinformationen des "anderen Systems" haben, um einen "Remote Job Invocation" zu verwenden (siehe https://stackoverflow.com/questions/20359810/how -to-trigger-jenkins-builds-remote-und-zu-pass-parameter). Wenn Sie das Jenkins Operation Center verwenden, können Sie den Namen des Remote-Jobs direkt mit Auto-Vervollständigen-Optionen angeben. –