Передача аргументов сборки в.drone.yml для плагина Docker
У меня есть следующий 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"]
Когда я пытаюсь создать образ докера, как это
sudo docker build --build-arg SERVER_CONTEXT_PATH=mywar -t com-ifx:latest
и запустить изображение с помощью sudo docker run -p 8080:8080 com-ifx:latest
Файл войны скопирован 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
1 ответ
В моем случае я использовал два изменения из вашего скрипта. Которые:
В Dokerfile я использовал формат $VARIABLE или "$VARIABLE" для ссылки на переменную.
А в файле.drone.yml переменная указана как
build_args_from_env: [ VARIABLE ]
Это работает для меня