2

Ich bin auf der Suche nach einer Möglichkeit, Jenkins Jobs/Build innerhalb Jenkins Slaves ausführen, dynamisch (auf Abruf) gestartet Docker. Anfügen von Schema für visuelles Verständnis. Was ich suche eigentlich für und meine Flow wie folgt aussieht:Jenkins Trigger On-Demand-Slaves in Docker

1) Auslösen Jenkins Job (manuell/git/gerrit)
2) Jenkins Master (in Docker läuft) Slave-Maschine Docker beginnt (und Skript übergeben/Anweisungen des Build)
3) Erstellen auf Jenkins Slave ausgeführt wird (oder wenn Slaves parallel/Pipeline)
4) Ergebnis zu Jenkins Master zurück
5) Jenkins Slave Andockfensters stoppt

Jenkins Flow

Ist es möglich, es so zu machen?

Antwort

3
  1. Docker Slave-image-Erstellung Schritte ausgeführt werden nk. Installieren Sie das Docker-Plugin über den folgenden Link.

    Klicken Sie auf here!

  2. Gehen Sie zur globalen Konfiguration von jenkins, Unter den Cloud-Überschriften wird die Docker-Konfiguration angezeigt, geben Sie die Docker-Host-URL mit der Portnummer ein, Anmeldeinformationen sind nicht erforderlich. Geben Sie einige Werte für den Verbindungs-Timeout ein. & Lese-Timeout.

  3. Unter Docker template - Geben Sie die Docker Bildnamen, die wir in der Punktnummer 1 erstellt

  4. Set Label-Nummer (Geben Sie diesen Label-Namen während Jenkins der Schaffung von Arbeitsplätzen und beschränken zu diesem Slave-Namen),

  5. Wählen Sie die Verwendungsoption -> nur Job mit Etikettenbeschränkung erstellen.

  6. Kein Vollstrecker -> Mindest 1. Wählen Sie Startmethode als ssh, geben Sie die Anmeldeinformationen des Benutzers anmelden, die wir in Docker Bild in der Schrittzahl erstellt 1.

erstellen Job einschränken docker sklave label, run, ondemand es wird ein spannender container.

0

Verwenden Sie dieses Plugin: https://wiki.jenkins-ci.org/display/JENKINS/Yet+Another+Docker+Plugin

Nach Installation (es erfordert Java 1.8) naviaget zur Konfiguration. Es gibt zwei Schritte:

  1. configure Docker "Wolke"
  2. add "Instanzen" (Docker Bilder), die Sie auf den Build laufen

Jedes Bild sollte Etikett zugewiesen haben - verwenden diese Bezeichnung in Sie Job-Konfiguration Jenkins explicitlyon zu erzählen, die der Job Knoten sollte wie die Installation von OpenSSH, Benutzererstellung, erwähnt in der unten li

+0

Versucht dieses Plugin auch, aber Docker Plugin hat es besser für mich getan: https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin – user2988257