Shell Jenkins多行sh:未解释变量
我有以下代码:Shell Jenkins多行sh:未解释变量,shell,jenkins,groovy,jenkins-plugins,Shell,Jenkins,Groovy,Jenkins Plugins,我有以下代码: def testCall(String aws_sm_secret_id) { // Script variables def aws_secret_string def SSH_KEY def SSH_USER sh ''' ls /usr/bin export AWS_DEFAULT_REGION=eu-central-1 wget https://github.com/stedolan/jq/
def testCall(String aws_sm_secret_id) {
// Script variables
def aws_secret_string
def SSH_KEY
def SSH_USER
sh '''
ls /usr/bin
export AWS_DEFAULT_REGION=eu-central-1
wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64;
mv jq-linux64 jq;
chmod +x jq
mv jq /usr/bin;
# Get the SSH key to jump onto the Opsview AWS Kollekotr
aws_secret_string=`aws secretsmanager get-secret-value --secret-id \"${aws_sm_secret_id}\" | jq --raw-output '.SecretString'`;
SSH_KEY=`echo \${aws_secret_string} | jq -r .foo`;
SSH_USER="bar";
IP=100.73.17.142;
ssh -i \${SSH_KEY} \${SSH_USER}@\${IP} << EOF
...
EOF
}
def testCall(字符串aws\u sm\u secret\u id){
//脚本变量
def aws_secret_字符串
def SSH_密钥
defsh_用户
“嘘”
ls/usr/bin
导出AWS\u默认\u区域=eu-central-1
wgethttps://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64;
mv jq-linux64 jq;
chmod+xjq
mv jq/usr/bin;
#获取SSH密钥以跳转到Opsview AWS Kollekotr
aws_secret_string=`aws secretsmanager get secret value--secret id\“${aws_sm_secret_id}\”;jq--raw output'.SecretString'`;
SSH_KEY=`echo\${aws_secret_string}jq-r.foo`;
SSH_USER=“bar”;
IP=100.73.17.142;
ssh-i\${ssh\u KEY}\${ssh\u USER}@\${IP}