如何将参数传递给Jenkins管道中的函数并将其传递给ssh命令

vnzz0bqm  于 2023-06-21  发布在  Jenkins
关注(0)|答案(1)|浏览(161)

我有以下脚本

def Greet(name){
      echo "Hello ${name}" // printing output on console as Hello Amol
      sh 'ssh -i @hostId "echo Hello ${name}"' // not printing anything on console. print only echo  
}

node() {
       stage("Hello") {
             Greet('Amol')
       }
}

如何使用ssh命令打印${name}变量值。有人能帮帮忙吗

kokeuurv

kokeuurv1#

sh命令中,我将单引号(')替换为双引号("),以允许变量插值。我还使用反斜杠(\)转义了name之前的$字符,以防止Jenkins试图在本地插入name变量。比如像这样

def Greet(name) {
  echo "Hello ${name}"
  sh "ssh -i @hostId 'echo Hello \${name}'" 
}

node {
  stage("Hello") {
    Greet('Amol')
  }
}

相关问题