Jenkinsfile
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 14 Nov 2016 23:00:13 +0000
branchfeature-block-in-context
changeset 80 c213d491e876
parent 74 57edfcce2a40
child 105 983a637074e6
permissions -rw-r--r--
Added feature branch "feature-block-in-context"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
/*
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 * Run default pipeline. See `pipeline.groovy for details.
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
 */
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
def pipeline;
80
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
     6
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
     7
def branch() {
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
     8
    if (env.BRANCH_NAME == null) {
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
     9
        return scm.getBranch();
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    10
    } else {
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    11
        return env.BRANCH_NAME;
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    12
    }
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    13
}
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    14
69
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
stage ( "Load Pipeline") {
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    node {
74
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    17
        /*
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    18
         * Do not use default workspace here as checkout
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    19
         * would erase all contents. Use a dedicated
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    20
         * workspace instead
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    21
         */
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    22
        ws ("workspace/${env.JOB_NAME}@loadpipeline") {
80
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    23
            sshagent([ scm.getCredentialsId() ]) {
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    24
                sh  """
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    25
                    if [ -f pipeline.groovy ]; then
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    26
                        hg pull ${scm.getSource()}
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    27
                    else
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    28
                        hg clone ${scm.getSource()} .
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    29
                    fi
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    30
                    hg up ${branch()}
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    31
                    """
c213d491e876 Added feature branch "feature-block-in-context"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 74
diff changeset
    32
            }
74
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    33
            pipeline = load "pipeline.groovy"
57edfcce2a40 Pipeline: use dedicated workspace to checkout and load pipeline script
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    34
        }
69
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    }
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
}
23cdc822cfc5 Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
70
8e73f248c6d4 Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
    38
pipeline.build()
8e73f248c6d4 Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
    39
pipeline.test()