2017-11-15 12 views
0

Ich habe einen jenkins Master in einem Container ausgeführt ... und ich bin tyring meine Builds mit Docker-Container als Jenkins Slave (Build-Agenten) containerize, auf einem separete vm, um meine CI-Pipelines zu betreiben. Dieser Docker-Container (Build-Agenten) wird erstellt, wenn die CI-Pipeline ausgeführt wird. . Sobald der Build abgeschlossen ist, wird der Docker-Container zerstört. Um dies zu erreichen:Docker-Container als Jenkins Slave (Build-Agenten)

  • i Docker-Plugin verwenden, wie folgend:

enter image description here

  • dies mein jenkinsfile Code:

node('docker') { 
 
     stage('Checkout Code') { 
 
      checkout scm } 
 
     stage('Build') { 
 
     withMaven { 
 
      sh 'mvn clean install' } 
 
     } 
 
    }

, wenn ich meine Peline laufen alles geht rechts:

aber die Frage ist, über die Build-Ergebnisse (.war)
sind diese Archive übertragen an den Master-Arbeitsbereich oder mit dem Behälter zerstört ?? Wenn der zweite Fall dann wie kann ich die Build-Ergebnisse zu jenkins Master zu CI-Prozess verfolgen erholen?

[INFO] Installing /home/jenkins/workspace/Build_pipeline_team/target/Teams.war to /home/jenkins/.m2/repository/teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.war 
 
[INFO] Installing /home/jenkins/workspace/Build_pipeline_team/pom.xml to /home/jenkins/.m2/repository/teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.pom 
 
[INFO] ------------------------------------------------------------------------ 
 
[INFO] BUILD SUCCESS 
 
[INFO] ------------------------------------------------------------------------ 
 
[INFO] Total time: 02:12 min 
 
[INFO] Finished at: 2017-11-15T03:40:13+00:00 
 
[INFO] Final Memory: 21M/51M 
 
[INFO] ------------------------------------------------------------------------ 
 
[jenkins-maven-event-spy] INFO generated /home/jenkins/workspace/[email protected]/withMaven673f8d6e/maven-spy-20171115-033800-6375412806014049683204.log 
 
[Pipeline] } 
 
[withMaven] artifactsPublisher - Archive artifact pom.xml under teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.pom 
 
[withMaven] artifactsPublisher - Archive artifact target/Teams.war under teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.war 
 
[withMaven] junitPublisher - Archive test results for Maven artifact teams:Teams:1.0-SNAPSHOT generated by maven-surefire-plugin:test (default-test): target/surefire-reports/*.xml

Antwort

0

Wenn Sie die Bühne in einem Knoten einzukapseln, wird alles auf diesem Knoten ausgeführt werden. Damit wird der Krieg mit dem Container zerstört, wenn der Bau beendet ist.

Sie haben mehrere Alternativen, um den Krieg zu behalten.

Die Maven-Methode besteht darin, Artefakte zu einem Repistory wie Nexus bereitzustellen.

Anothe Jenkins Alternative ist, den Krieg auf dem Sklaven zu verstauen, sobald der Bau beendet ist und es wieder auf dem Master loszustürzen. Dies wird effektiv die gespeicherten Dateien vom Slave zum Master-Knoten zurückkopieren.

+0

Bitte geben Sie mir ein Beispiel mit der Stash/Unstash-Struktur in meinem Fall basierend auf den obigen Build-Ergebnissen? – rihab