0

我正在使用带有 a 的私有 Github 存储库Jenkinsfile来构建项目。我实际上想做两个单独的构建,一个用于develop在推送分支时构建,另一个用于qa每晚构建。我已经建立了一个 Github 组织,因为这似乎是使用凭据签出存储库并执行构建的唯一方法。

我的 Jenkinsfile 看起来像:

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()
    }
}

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

当我设置properties上述内容,然后在我的 Github 组织下找到构建作业时,我可以看到它正在接受构建参数。但是,我似乎没有办法在外部设置这些。我只能将它们与“使用参数构建”一起使用。如果我想每次都手动运行构建,这会很好,但我希望它每晚运行。由于两种不同的环境需要不同的构建参数值,所以我不能将它们设置为默认值。

有什么方法可以让我使用 Jenkins 管道提前设置构建参数值?

4

0 回答 0