在 .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"]

当我尝试像这样构建 docker 映像时

使用sudo docker run -p 8080:8080 com-ifx:latest sudo docker build --build-arg SERVER_CONTEXT_PATH=mywar -t 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

就我而言,我使用了您的脚本中的两个更改。它们是:

在我使用的 Dokerfile 中,格式$VARIABLE或"$VARIABLE"来引用变量。

在 .drone.yml 文件中,变量被指定为

build_args_from_env: [ 变量 ]

这对我有用

相关内容

  • 没有找到相关文章

最新更新