Вы можете получить значение docker1_ip
из оболочки, выполнить return. Затем использовать docker1_ip
в sshagent.
node('linux') {
stage('Create Test Stack') {
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'cfcfed3e-bb3b-4b78-97a1-0ca1e7b9226e', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {
sh 'aws cloudformation create-stack --stack-name final-test --template-url https://s3.amazonaws.com/rcooper-bucket-bucket/docker-single-server.json --region us-east-1 --parameters ParameterKey=KeyName,ParameterValue=MyKeyPair2 ParameterKey=YourIp,ParameterValue=xxx.xx.xxx.xx/32'
sh 'aws cloudformation wait stack-create-complete --stack-name stack-test --region us-east-1'
sh 'aws cloudformation describe-stacks --stack-name stack-test --region us-east-1'
docker1_ip = sh(
returnStdout: true,
script: "aws cloudformation describe-stacks --stack-name stock-test --region us-east-1 --query \'Stacks[].Outputs[?OutputKey==`manager1PublicIp`].OutputValue[]\' --output text"
).trim()
sshagent (credentials: ['c8a72a93-6041-4983-973e-c4f7f3d10ebb']) {
sh "ssh -o StrictHostKeyChecking=no ubuntu@${docker1_ip} uptime"
}
}
}
}