在运行时,我的管道将位于 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}",我可以看到该文件夹已创建并且为空。