我有一个Jenkins管道,需要在从属节点上运行。我目前在传递由插件withCredentials设置的变量时遇到问题。当我尝试在从属节点上使用它们时,它们是空的,但它们在主节点上起作用。
这是管道代码段。
@freezed
abstract class Union with _$Union {
List<Some> get someList;
const factory Union.initial() = Initial;
const factory Union.loadInProgress() = LoadInProgress;
const factory Union.loadSuccess(List<Some> some) = LoadSuccess;
}
还有日志
#!groovy
@Library('sharedPipelineLib@master') _
pipeline {
agent { node
{ label 'jenkins-slave-docker' }
}
options {
skipDefaultCheckout(true)
}
environment {
sonar = credentials('SONAR')
}
stages {
stage('Checkout') {
steps {
cleanWs()
script {
checkout scm
}
}
}
stage('Deploy backend') {
steps {
script {
withCredentials([
[
$class : 'AmazonWebServicesCredentialsBinding',
credentialsId : 'AWS_ACCOUNT_ID_DEV',
accessKeyVariable: 'AWS_ACCESS_KEY_ID_DEV',
secretKeyVariable: 'AWS_SECRET_ACCESS_KEY_DEV'
],
[
$class : 'AmazonWebServicesCredentialsBinding',
credentialsId : 'AWS_ACCOUNT_ID_DNS',
accessKeyVariable: 'AWS_ACCESS_KEY_ID_DNS',
secretKeyVariable: 'AWS_SECRET_ACCESS_KEY_DNS'
]
]){
sh '''
echo "$AWS_ACCESS_KEY_ID_DEV\\n$AWS_SECRET_ACCESS_KEY_DEV\\n\\n" | aws configure --profile profile_705229686812
echo "$AWS_ACCESS_KEY_ID_DNS\\n$AWS_SECRET_ACCESS_KEY_DNS\\n\\n" | aws configure --profile profile_417752960097
'''
}
}
}
}
}
}
答案 0 :(得分:0)
问题再次出在 echo cmd 上。我不得不改用 printf,因为 echo 添加了导致失败的换行符。