Использовать переменную окружения в разделе параметров конвейера Jenkins - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть переменная окружения, которая представляет gitrepo, и я использую это репо в своем параметре git:

pipeline {
    agent any

    options {
        buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '1'))
        disableConcurrentBuilds()
    }

    environment {
        GitRepo = 'https://my-repo/repo.git'
    }

    parameters {
        gitParameter branchFilter: 'origin/(.*support.*)', defaultValue: 'develop', name: 'SUPPORTBRANCH', type: 'PT_BRANCH', useRepository: env.GitRepo , sortMode: 'DESCENDING_SMART'
    }
...}

Когда я использую env.GitRepo на этапах моего конвейера, он работает, но не тогда, когда я использую его в разделе параметров.

Как я могу сделать эту работу?

1 Ответ

0 голосов
/ 15 сентября 2018

Действительно ли это должна быть переменная окружения? Если бы не простое свойство, можно было бы добиться цели. Конечно, вы все равно можете использовать его для определения переменной среды, если требуется ...

Я использовал параметр string только потому, что мне показалось слишком сложным запустить простой пример с использованием плагина gitParameter. Но, конечно, вы можете использовать это свойство и для плагина параметров git.

// simply define the property here...
gitRepo = 'https://my-repo/repo.git'

pipeline {
    agent any

    environment {
        // optional, not used below. Use only if you need to have an environment variable
        GitRepo = gitRepo
    }

    options {
        buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '1'))
        disableConcurrentBuilds()
    }

    parameters {
        string defaultValue: gitRepo, description: '', name: 'Test', trim: false
    }

    stages {
        stage ('foo') {
            steps {
                echo 'Hi'
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...