2017-12-19 7 views
2

Ich habe eine Jenkins (Pipeline) Build. Mein haltsicherer Build meiner Pipeline:Bereitstellen von Artefakten in hairsuccesful Build Jenkins Pipeline

+ ls -ltrah /srv/jenkins/jobs/xx-IB/lastSuccessful/ 
total 7.5M 
-rw-r--r--. 1 jenkins jenkins 442 Dec 19 11:27 3.log 
-rw-r--r--. 1 jenkins jenkins 64 Dec 19 11:27 4.log 
-rw-r--r--. 1 jenkins jenkins 3.6K Dec 19 11:27 8.log 
-rw-r--r--. 1 jenkins jenkins 0 Dec 19 11:27 9.log 
-rw-r--r--. 1 jenkins jenkins 4.6K Dec 19 11:27 10.log 
-rw-r--r--. 1 jenkins jenkins 0 Dec 19 11:27 11.log 

Aber es enthält keine Symlinks zu meinen erstellten Artefakten. Wie kann ich auf meine erstellten Artefakte von meinem letzten Build zugreifen, so dass ich von hier aus auf die Artefakte (Symlinks) zugreifen kann: /srv/jenkins/jobs/jobname/lastSuccessful/?

Antwort

1

Sie die Artefakte in post nach jeder alles

stage('Build Debug') { 
    steps { 
     dir('project/embsw') { 
      sh 'mingw32-make.exe makefile=Makefile clean' 
      sh 'mingw32-make.exe makefile=Makefile debug' 
     } 
    } 
    post { 
     always { 
      archive "project/embsw/debug/*" 
     } 
    } 
} 

Der obige Code stage Archiv kann die im vorliegenden project/embsw/debug/ innerhalb Verzeichnis archivieren.
Also würde ich empfehlen, in jedem stage zu archivieren, wenn Sie Artefakt zu archivieren haben und vermeiden Sie eine separate Stufe für die Archivierung.
Dies ist der Vorteil der Verwendung Pipeline, Sie können in jeder Phase nicht wie alte Jenkins Config-Methode archivieren, wo Sie in der letzten oder post build action archivieren.

0

Das ist für mich gearbeitet:

stage ('Archive artifact') { 
      steps { 
       script { 
        archiveArtifacts artifacts: '**/**/xxx-*-SNAPSHOT.xx' 
       } 
      } 
     } 
Verwandte Themen