假设您有一个场景,您有一个用户名和密码凭证,您希望将其用作填充(事实上的)标准 http_proxy
环境变量的一部分。第一次尝试是这样的:
withCredentials([usernameColonPassword(credentialsId:'proxy-credentials', variable:'PROXY_CREDENTIALS')]) {
def proxyUrl = "https://${env.PROXY_CREDENTIALS}@proxy-endpoint.com:3128"
withEnv(["http_proxy=${proxyUrl}"]) {
// Do stuff
}
}
然而,尽管它有效,但 Jenkins 将其标记为不安全。这也不起作用:
withCredentials([usernameColonPassword(credentialsId:'proxy-credentials', variable:'PROXY_CREDENTIALS')]) {
withEnv(['http_proxy=https://${PROXY_CREDENTIALS}@proxy-endpoint.com:3128']) {
// Do stuff
}
}
这是因为 withEnv
中没有“shell 扩展”,因此 http_proxy
被设置为具有文字 ${PROXY_CREDENTIALS}
在里面,这不是我们想要的。
关于如何安全地设置 http_proxy
有什么想法吗?
最佳答案
试试这个:
withCredentials([usernameColonPassword(credentialsId:'proxy-credentials', variable:'PROXY_CREDENTIALS')]) {
withEnv(["http_proxy=https://$PROXY_CREDENTIALS@proxy-endpoint.com:3128"]) {
// Do stuff
}
}
关于jenkins - 一起使用 withEnv 和 withCredentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66570693/