(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| // A Declarative Pipeline is defined within a 'pipeline' block. | |
| pipeline { | |
| // agent defines where the pipeline will run. | |
| agent { | |
| // This also could have been 'agent any' - that has the same meaning. | |
| label "" | |
| // Other possible built-in agent types are 'agent none', for not running the | |
| // top-level on any agent (which results in you needing to specify agents on | |
| // each stage and do explicit checkouts of scm in those stages), 'docker', |
| pipeline { | |
| agent any | |
| stages { | |
| stage('Build') { | |
| steps { | |
| echo 'Hello from Build' | |
| } | |
| } | |
| stage('Test') { | |
| steps { |
| node { | |
| echo 'Results included as an inline comment exactly how they are returned as of Jenkins 2.121, with $BUILD_NUMBER = 1' | |
| echo 'No quotes, pipeline command in single quotes' | |
| sh 'echo $BUILD_NUMBER' // 1 | |
| echo 'Double quotes are silently dropped' | |
| sh 'echo "$BUILD_NUMBER"' // 1 | |
| echo 'Even escaped with a single backslash they are dropped' | |
| sh 'echo \"$BUILD_NUMBER\"' // 1 | |
| echo 'Using two backslashes, the quotes are preserved' | |
| sh 'echo \\"$BUILD_NUMBER\\"' // "1" |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.