我有以下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 --build-arg SERVER_CONTEXT_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
答案 0 :(得分:0)
在我的情况下,我使用了脚本中的两个更改。这是:
在我使用的Dokerfile中,使用格式$ VARIABLE或“$ VARIABLE”来引用变量。
在.drone.yml文件中,变量指定为
build_args_from_env:[VARIABLE]
这对我有用