要注意jenkins的语法,在流水线生成片段中输入执行脚本生成后execCommand 后面的三个单引号换成三个双引号,然后直接使用$abcd 获取凭证,其他需要用到&符号的使用\反斜杠加在前面转意
sshPublisher(publishers: [sshPublisherDesc(configName: '***.**.**.**', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: """
ID=`ps -ef | grep jeecg-boot-module-system-2.4.0.jar | grep -v grep | awk \'{print \$2}\'`
echo "------start---------"
for id in \$ID
do
echo "killed \$id"
sudo kill -9 \$id
done
BUILD_ID=dontKillMe
cd /home/aiyong/ipd_java/target
sudo nohup java -jar -Xmx2G -Xms2G -Dapollo.meta=$meta 11111.jar >/dev/null 2>&1 &
""", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '/')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
pipeline单引号、双引号和转义字符
前言
Jenkins pipeline的单引号、双引号和转义字符的语法和Linux shell中的语法一致。
单引号’
在单引号之间的所有特殊字符都失去了特殊含义
双引号"
在双引号之间的绝大多数特殊字符都失去了特殊含义,除了以下特例:
$ 美元号用来提取变量的值
` 反冒号用执行命令
\ 反斜杠用来转义字符
多行
‘’‘
‘’‘
“”“
”“”