如何将Jenkins凭证传递给Dockerfile / Shell?

时间:2018-08-27 13:48:36

标签: shell docker jenkins arguments credentials

我有一个Makefile:

docker build --build-arg USER=${USER} --build-arg PASSWD=${PASSWD}

我用以下命令在jenkins脚本中构建它:

withCredentials([usernamePassword(credentialsId: 'my-credentials', passwordVariable: 'PASSWD', usernameVariable: 'USER')]) { (build_step) }

在Dockerfile脚本中,我有:

ARG USER

ARG PASSWD 

curl -u ${USER}:${PASSWD}

将USER / PASSWD对传递到repo / API的地方。

要正确传递USER / PASSWD,需要执行哪些必要步骤?我尝试了很多解决方案/语法选项和RUN导出。似乎没有任何作用。

是否可以从dockerfile运行回显变量? Jenkins日志会在大多数尝试中显示变量名或空格。

1 个答案:

答案 0 :(得分:0)

您可以使用--build-arg将参数传递给dockerile。因此,在这种情况下,您可以运行类似docker build --build-arg USER=${USER} --build-arg PASSWD=${PASSWD}