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 [2019/02/19 13:46] niziaksw:jenkins [2021/03/31 20:38] (current) niziak
Line 1: Line 1:
 +====== Jenkins ======
  
 ====== Pipeline  ====== ====== Pipeline  ======
Line 9: Line 10:
 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 44:
 [[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 65:
 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>