如何从 Jenkins “docker 登录”到 Artifactory

问题描述 投票:0回答:1

在我的 Jenkins 工作中,我需要登录 Artifactory

我创建了一个名为“Docker_artifactory_creds”的全局凭证

在工作中,我为该信用创建了绑定

在“执行 shell”步骤中使用它们作为

docker login artifacts.some_custom.com -u ${ARTIFACTORY_USER} -p ${ARTIFACTORY_PASSWD}

但这行不通(与作为行文本传递的相同信用,这一行有效)。我看到以下日志:

以下环境变量已被“仅保留”删除 指定环境变量':ARTIFACTORY_PASSWD, ARTIFACTORY_USER,分支,BUILD_CAUSE,...,工作空间,工作空间_TMP 删除 artifacts.some_custom.com 的登录凭据 错误:无法从非 TTY 设备执行交互式登录

为什么我的凭据被忽略/删除?

docker jenkins artifactory
1个回答
0
投票
此错误来自

https://plugins.jenkins.io/safe-batch-environment-filter/插件

在自由式中:不确定是否有办法做到这一点,只需将您的工作添加到詹金斯全局配置中的排除列表中

在 Jenkinsfile 中:你需要用

包装你的代码

keepEnv(['ARTIFACTORY_USER', 'ARTIFACTORY_PASSWD']) { docker login artifacts.some_custom.com -u ${ARTIFACTORY_USER} -p ${ARTIFACTORY_PASSWD} }
ps 还需要添加 

withCredentials

 或您用来将此信用信息添加到 env 变量的内容

© www.soinside.com 2019 - 2024. All rights reserved.