使用Pipeline在运行时设置构建参数值

时间:2016-09-30 18:05:38

标签: jenkins groovy jenkins-pipeline jenkinsfile

我使用私有Github repo和Jenkinsfile来构建项目。我实际上喜欢做两个单独的构建,一个用于develop构建,每当构建一个分支时构建,一个用于qa构建每晚构建。我已经建立了一个Github组织,因为这似乎是使用凭证签出存储库并执行构建的唯一方法。

我的Jenkins文件看起来像:

node {
    stage('Preparation') {
        properties([[$class: 'ParametersDefinitionProperty',
            parameterDefinitions: [
                [$class: 'StringParameterDefinition', name: 'build_url'],
                [$class: 'StringParameterDefinition', name: 'build_url2'],
            ]
        ]])
        checkout scm
    }
    stage('Build') {
        dir('Vecna_iDeliver_Torso') {
            sh 'npm install'
            sh 'node_modules/.bin/gulp build'
        }
    }
    stage('Upload') {
        sh 'aws s3 sync dist s3://app-dev'
    }
    stage('Cleanup') {
        deleteDir()
    }
}

这一切都很好,但我需要能够在运行gulp时设置环境变量(构建URL),它们的值将取决于我想要构建的环境。我要上传的s3存储桶也取决于环境。

当我在上面设置properties然后在我的Github组织下找到构建作业时,我可以看到它正在接受构建参数。但是,似乎没有任何方法可以让我在外部设置这些。我只能使用"使用参数构建。"如果我想每次都手动运行构建,这样会很好,但我希望它每晚运行。由于两个不同的环境需要不同的构建参数值,因此我无法将它们设置为默认值。

有没有办法让我使用Jenkins管道提前设置构建参数值?

0 个答案:

没有答案