詹金斯.在生成过程中将秘密文件复制到工作空间时出错



在运行时,我的管道将位于BitBucket工作区中的二进制文件复制到构建工作区,然后需要在构建工作区中添加来自凭证存储的一些秘密文件,然后开始构建docker映像。

但是管道在复制文件时失败。我搜索并应用了这里找到的不同解决方案,但仍然有相同的错误。

执行如下命令:

stage('push credential in jenkins workspace') {
steps {
script {
withCredentials([
file(credentialsId: 'saremediation', variable: 'SA_KEY_PATH')]){
sh "ls -al"
sh "mkdir ${CERTIFDIR}"
sh "cp ${SA_KEY_PATH} ${CERTIFDIR}/credent.json"

}
}
}
}

失败,错误如下:

[Pipeline] sh
Warning: A secret was passed to "sh" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [SA_KEY_PATH]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
+ cp **** server/src/configuration/certificats/credent.json 
cp: target 'server/src/configuration/certificats/credent.json' is not a directory

CERTIFDIR文件夹已经创建好了,因为当我添加sh "ls -al ${CERTIFDIR}"时,我可以看到文件夹已经创建并且是空的。

通过在cp命令

中应用此语法来解决此问题
sh "cp "${SA_KEY_PATH}" "${CERTIFDIR}""

最新更新