ci/publish.groovy
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 23 Apr 2018 09:19:17 +0100
branchstx-8.0.0
changeset 229 08322591d2b1
parent 223 575d0458b5c0
permissions -rw-r--r--
CI: bind publish task to "linux' nodes with `sftp` client
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
223
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
/*
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 * This is a publish pipeline
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
 */
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
pipeline {
229
08322591d2b1 CI: bind publish task to "linux' nodes with `sftp` client
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 223
diff changeset
     7
    agent { label 'linux' }
223
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
    parameters {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
        string(name: 'job', description: 'Job whose artifacts to upload',  defaultValue: 'stx_jv')
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
        string(name: 'srv', description: 'Server (and username) where to upload artifacts',  defaultValue: "${env.STX_PUBLISH_SERVER}")
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
        string(name: 'dir', description: 'Directory where to upload artifacts  ',  defaultValue: "${env.STX_PUBLISH_DIRECTORY}/6.2.6")
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
    }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    stages {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
        stage('Copy artifacts') {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
            steps {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
                copyArtifacts projectName: "${params.job}", selector: lastSuccessful(), excludes: '**/*prebuilt*'
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
                sh "ls -al artifacts"
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
            }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
        }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
        stage ( "Upload artifacts" ) {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
            steps {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
                sshagent([ "8be01219-a51e-410a-9850-bf9c134283fb" ]) {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
                    sh script:
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
                        """
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
                        sftp -b - ${params.srv} <<END
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
                        cd ${params.dir}
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
                        ls
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
                        rm *
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
                        put artifacts/*
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
                        ls
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
                        END
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
                        """.stripIndent()
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
                }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
            }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
        }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
        stage ( "Cleanup" ) {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
            steps {
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
                cleanWs()
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
            }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
        }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    }
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
}
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
575d0458b5c0 CI: added a job (pipeline) and step to publish artifacts to public server
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47