在.drone.yml中为docker插件传递构建参数
我有下面的Dockerfile在.drone.yml中为docker插件传递构建参数,docker,drone,docker-build,Docker,Drone,Docker Build,我有下面的Dockerfile FROM myabse ARG SERVER_CONTEXT_PATH=com-ifx COPY ./hue-com-ifx-front/target-server-side/com-ifx.war /opt/tomcat/webapps/${SERVER_CONTEXT_PATH}.war CMD ["/opt/tomcat/bin/catalina.sh", "run"] 当我尝试像这样构建docker图像时 sudo docker build--bu
FROM myabse
ARG SERVER_CONTEXT_PATH=com-ifx
COPY ./hue-com-ifx-front/target-server-side/com-ifx.war /opt/tomcat/webapps/${SERVER_CONTEXT_PATH}.war
CMD ["/opt/tomcat/bin/catalina.sh", "run"]
当我尝试像这样构建docker图像时
sudo docker build--build arg SERVER\u CONTEXT\u PATH=mywar-t com ifx:latest
并使用sudo docker run-p 8080:8080 com ifx:latest运行映像
复制的war文件是mywar.war
我在.drone.yml
docker:
image: plugins/docker
registry: registry.paas.workslan
repo: registry.paas.workslan/ifx-prestaging/com-ifx
build_args:
- SERVER_CONTEXT_PATH=mywar
secrets: [ docker_username, docker_password ]
tags: latest
when:
branch: ticket-*
docker_publish_feature_branch:
image: plugins/docker
registry: registry.paas.workslan
repo: registry.paas.workslan/ifx-prestaging/com-ifx
secrets: [ docker_username, docker_password ]
tags: ${DRONE_COMMIT_BRANCH}
when:
branch: [ticket-*]
但是战争的名字总是com ifx.war
。我希望它是mywar.war
。在.drone.yml
中,我应该怎么做?在我的例子中,我使用了您脚本中的两个更改。它们是:
docker:
image: plugins/docker
registry: registry.paas.workslan
repo: registry.paas.workslan/ifx-prestaging/com-ifx
build_args:
- SERVER_CONTEXT_PATH=mywar
secrets: [ docker_username, docker_password ]
tags: latest
when:
branch: ticket-*
docker_publish_feature_branch:
image: plugins/docker
registry: registry.paas.workslan
repo: registry.paas.workslan/ifx-prestaging/com-ifx
secrets: [ docker_username, docker_password ]
tags: ${DRONE_COMMIT_BRANCH}
when:
branch: [ticket-*]
在Dokerfile中,我使用$VARIABLE或“$VARIABLE”格式来引用变量
在.drone.yml文件中,变量指定为
从环境生成参数:[变量]
这对我很有用该线程看起来很旧,但可能对遇到此问题的人有所帮助: