Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在脚本中将密码凭据变量从Jenkins传递到sshpass_Jenkins_Sshpass - Fatal编程技术网

在脚本中将密码凭据变量从Jenkins传递到sshpass

在脚本中将密码凭据变量从Jenkins传递到sshpass,jenkins,sshpass,Jenkins,Sshpass,我在jenkins中设置了一些全局凭据,用户名密码类型 我现在必须将一个文件scp到管道中的目标服务器 为了参数起见,假设我的密码变量是secretpassword 有人知道如何获取密码以正确使用sshpass吗 这是我要做的事情的要点 sh ''' sshpass -p'${PASSWORD}' scp ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/ ''' 不管我怎么做,我似乎都无法正确地将密码传递给ss

我在jenkins中设置了一些全局凭据,用户名密码类型

我现在必须将一个文件scp到管道中的目标服务器

为了参数起见,假设我的密码变量是secretpassword

有人知道如何获取密码以正确使用sshpass吗

这是我要做的事情的要点

sh '''
sshpass -p'${PASSWORD}' scp  ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/
'''
不管我怎么做,我似乎都无法正确地将密码传递给sshpass

如果我执行以下操作,它工作正常

sh '''
sshpass -p 'secretpassword' scp ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/
'''
很明显,我只是搞乱了如何让PASSWORD env变量正确地吐出到单引号中

到目前为止,我似乎已经尝试了几千种选择,有人有什么好主意吗


提前感谢

请不要使用单引号

sshpass-p${PASSWORD}scp${WORKSPACE}/target/citest-1.0-SNAPSHOT.jarroot@target_service:/


有什么特别的理由把它保留在单引号中吗?因为单引号不会插入变量。

请尝试不使用单引号

sshpass-p${PASSWORD}scp${WORKSPACE}/target/citest-1.0-SNAPSHOT.jarroot@target_service:/

有什么特别的理由把它保留在单引号中吗?因为单引号不会插入变量。

仅当您有多个sh命令要运行时才使用
'
,如果它只是一个命令,那么就这样做,应该可以正常工作

 sh "sshpass -p ${PASSWORD} scp  ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/ "
如果您需要使用
''

然后不使用单引号使用它

sh '''
sshpass -p ${PASSWORD} scp  ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/
'''
只有当您有多个sh命令要运行时才使用
'
,如果它只是一个命令,那么就这样做,它应该可以正常工作

 sh "sshpass -p ${PASSWORD} scp  ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/ "
如果您需要使用
''

然后不使用单引号使用它

sh '''
sshpass -p ${PASSWORD} scp  ${WORKSPACE}/target/citest-1.0-SNAPSHOT.jar root@target_service:/
'''