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
sw:jenkins [2018/11/08 10:43] niziaksw:jenkins [2021/03/31 20:38] (current) niziak
Line 1: Line 1:
 +====== Jenkins ======
  
 ====== Pipeline  ====== ====== Pipeline  ======
   * 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 45:
 [[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>