В настоящее время я использую декларативный сценарий конвейера 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
?