Использовать переменную среды в разделе параметров конвейера Jenkins

У меня есть переменная среды, представляющая 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 внутри этапов моего конвейера, он работает, но не тогда, когда я использую его в разделе параметров.

Как я могу заставить это работать?

"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
В этой статье блога мы проведем вас через процесс установки Gradle на Ubuntu 22.04, интеграции его с Jenkins и создания задания Gradle. Мы...
1
0
1 165
1

Ответы 1

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

Я использовал параметр 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'
            }
        }
    }
}

Другие вопросы по теме