meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
sw:jenkins [2018/11/08 10:43] niziaksw:jenkins [2019/02/20 09:24] – [Declarative Pipeline] niziak
Line 3: Line 3:
   * is main Jenkins plugin which act as main build engine (from Jenkins 2.0)   * is main Jenkins plugin which act as main build engine (from Jenkins 2.0)
   * **replay** feature let to run job with modified by hand ''Jenkinsfile''   * **replay** feature let to run job with modified by hand ''Jenkinsfile''
 +  
  
-===== Jenkinsfile ====+===== Scripted pipeline ====
  
 It is possible to write Jenkinsfile's as Groovy scripts (advanced) or using Declarative Pipeline Syntax. It is possible to write Jenkinsfile's as Groovy scripts (advanced) or using Declarative Pipeline Syntax.
  
-**Scripted pipeline** https://jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline+[[https://dzone.com/articles/top-10-best-practices-for-jenkins-pipeline|Top 10 Best Practices for Jenkins Pipeline ]] 
 +[[https://www.blazemeter.com/blog/how-to-use-the-jenkins-scripted-pipeline]] 
 +[[https://jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline]] 
 <file | jenkinsfile> <file | jenkinsfile>
 node { node {
 +    stage("a") {
 +    }
 +    stage("b") {
 +    }
 +    stage("c") {
 +        parallel (
 +            'taskA': { stage("1") { }},
 +            'taskB': { stage("2") { }},
 +        )
 +    }
 +    stage("archive") {
 +        archiveArtifacts artifacts: 'out_*/*.*'
 +        archiveArtifacts artifacts: 'contiki/tools/cc2538-bsl/cc2538-bsl.py'    
 +    }
 +}
 </file> </file>
 +
 +NOTE:
 +    * **parallel** expect map as argument. [[https://www.cloudbees.com/blog/parallelism-and-distributed-builds-jenkins]]
 +    * 
 +
 +
 +
  
 [[https://jenkins.io/doc/pipeline/tour/hello-world/|Creating your first Pipeline]] [[https://jenkins.io/doc/pipeline/tour/hello-world/|Creating your first Pipeline]]
Line 18: Line 44:
 [[https://wiki.jenkins.io/display/JENKINS/Distributed+builds|Distributed builds]] [[https://wiki.jenkins.io/display/JENKINS/Distributed+builds|Distributed builds]]
  
-**Declarative Pipeline**+==== archiveArtifacts ==== 
 + 
 +**archiveArtifacts:** 
 +    * ''Directory/**/*.*'' -> All the files recursively under Directory 
 +    * ''**/*.*'' -> all the files in the workspace 
 +    * ''**/*.xml'' -> all xml files in your workspace. 
 +    * ''Directory/**/*.xml'' -> All the xml files recursively under Directory 
 + 
 +<file groovy> 
 +archiveArtifacts artifacts: 'file.extension''' 
 +archiveArtifacts artifacts: 'teste.js' 
 +archiveArtifacts artifacts: '*.js' 
 +archiveArtifacts artifacts: 'teste.js', onlyIfSuccessful: true 
 +</file> 
 + 
 +===== Declarative Pipeline==== 
 <file | Jenkinsfile> <file | Jenkinsfile>
 pipeline { pipeline {
     agent any     agent any
 +    stages {
 +        stage('Download') {
 +            steps {
 +                sh 'make config'
 +                sh 'echo "artifact file" > generatedFile.txt'
 +            }
 +        }
 +    }
 +    post {
 +        always {
 +            archiveArtifacts artifacts: 'generatedFile.txt', onlyIfSuccessful: true
 +        }
 +    }    
 } }
 </file> </file>