Указание 'agent none` и поэтапное использование `environment` - PullRequest
0 голосов
/ 01 июля 2019

В настоящее время я использую декларативный сценарий конвейера Jenkins с agent none, указанным для упрощения конвейера.

В моем stages разделе скрипта я указываю agent dockerfile true и передаю --buildarg ACCESS_KEY=$AWS_ACCESS_KEY_ID, который я объявляю в environment прямо над моим agent объявлением.[см. ниже]

Я получаю сообщение об ошибке: groovy.lang.MissingPropertyException: No such property: AWS_ACCESS_KEY_ID for class: groovy.lang.Binding

Единственный способ обойти эту ошибку - это указать agent any перед моим stages section.

pipeline {
    agent none 
    stages {
        stage('deploy') {
            environment {
                AWS_CRED = credentials('aws-credentials')
            }
            agent {
               dockerfile {
                   additionalBuildArgs "--build-arg AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID --build-arg AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY"
               }
            }
            steps { sh 'echo "$AWS_CRED"' }
        } 

    }
}

Есть ли другой способ объявить переменные окружения на этапе с заранее заданным agent none?

...