简体   繁体   English

Jenkinsfile - 如何将构建参数传递给 docker

[英]Jenkinsfile - how to pass build argument to docker

As per this link we can pass image name & dockerfile location to build an image in following way根据此链接,我们可以通过以下方式传递图像名称和 dockerfile 位置以构建图像

docker.build("my-image:${env.BUILD_ID}", "-f ${dockerfile} ./dockerfiles")

I want to pass proxy settings to build command, Is there any way to pass it, similar to how we can pass in simple docker command.我想通过代理设置来构建命令,有什么方法可以传递它,类似于我们如何传递简单的docker命令。

docker build -t my-image --build-arg HTTP_PROXY=http://192.168.0.1:3128 ./dockerfiles

这对我有用:

def image = docker.build("myregistry.io/firstkey/secondkey/image:2.2.0-$BUILD_NUMBER", "--build-arg http_proxy=http://www-proxy.mycompany.com:80 --build-arg https_proxy=http://www-proxy.mycompay.com:80 --network host -f Dockerfile .")
docker.build("my-image:${env.BUILD_ID}", "--build-arg HTTP_PROXY=http://192.168.0.1:3128", "-f ${dockerfile} ./dockerfiles")

All you need to add .您需要添加的所有内容. in the second argument.在第二个论点中。

docker.build("my-image:${env.BUILD_ID}", "--build-arg HTTP_PROXY=http://192.168.0.1:3128 .")

您需要像这样传递它,并在它们之间留出空格作为字符串

docker.build "my-image:${env.BUILD_ID} -f ${dockerfile} ./dockerfiles"

Be aware of new lines and spaces in build args when you passing them to docker.build().当您将它们传递给 docker.build() 时,请注意构建参数中的新行和空格。

Perform trim() on them before passing to the docker.build()在传递给 docker.build() 之前对它们执行 trim()

Pass to docker.build several --build-arg arguments 传递给 docker.build 几个 --build-arg 参数

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM