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 [2019/02/19 13:46] niziaksw:jenkins [2019/02/20 09:24] – [Declarative Pipeline] niziak
Line 9: Line 9:
 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.
  
-**** 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 19: Line 43:
 [[https://www.blazemeter.com/blog/how-to-use-the-jenkins-scripted-pipeline]] [[https://www.blazemeter.com/blog/how-to-use-the-jenkins-scripted-pipeline]]
 [[https://wiki.jenkins.io/display/JENKINS/Distributed+builds|Distributed builds]] [[https://wiki.jenkins.io/display/JENKINS/Distributed+builds|Distributed builds]]
 +
 +==== 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==== ===== Declarative Pipeline====
Line 25: Line 64:
 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>