Jenkins Pipeline Syntax: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 77: Line 77:
</syntaxhighlight>
</syntaxhighlight>
=Basic Steps Reference=
=Basic Steps Reference=
These basic steps are used invoking on <code>stage.</code>. In a Jenkinsfile, and inside a stage, invoke on <code>this.</code> or simply invoking directly, without qualifying.


====echo====
====echo====
====error====
====error====
{{External|https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#error-error-signal}}
====readFile====
====readFile====
====stash====
{{External|https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#readfile-read-file-from-workspace}}
 
Reading a file from the workspace.
* [https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#stash-stash-some-files-to-be-used-later-in-the-build stash]
* read-file step. Reading a file from the workspace: https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#readfile-read-file-from-workspace
 
<syntaxhighlight lang='groovy'>
<syntaxhighlight lang='groovy'>
def versionFile = readFile("${stage.WORKSPACE}/terraform/my-module/VERSION")
def versionFile = readFile("${stage.WORKSPACE}/terraform/my-module/VERSION")
</syntaxhighlight>
</syntaxhighlight>
 
====stash====
* error https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#error-error-signal
{{External|https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#stash-stash-some-files-to-be-used-later-in-the-build]}}

Revision as of 17:35, 21 November 2019

External

Internal

Scripted Pipeline

 node {
 
     echo 'Pipeline logic starts'
 
     stage('Build') {
        // ...
     }
     stage('Test') {
        // ...
     }
     stage('Deploy') {
        // ...
     }

Parallel Stages

stage("tests") {

    parallel(

        "unit tests": {

             // run unit tests 
         },
         "coverage tests": {

             // run coverage tests
         }
     )
}

Declarative Pipeline

 pipeline { 
     agent any 
     options {
         skipStagesAfterUnstable()
     }
     stages {
         stage('Build') { 
             steps { 
                 sh 'make' 
             }
         }
         stage('Test'){
             steps {
                 sh 'make check'
                 junit 'reports/**/*.xml' 
             }
         }
         stage('Deploy') {
             steps {
                 sh 'make publish'
             }
         }
     }
 }

Basic Steps Reference

These basic steps are used invoking on stage.. In a Jenkinsfile, and inside a stage, invoke on this. or simply invoking directly, without qualifying.

echo

error

https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#error-error-signal

readFile

https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#readfile-read-file-from-workspace
Reading a file from the workspace.
def versionFile = readFile("${stage.WORKSPACE}/terraform/my-module/VERSION")

stash

https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#stash-stash-some-files-to-be-used-later-in-the-build]