【问题标题】:Passing build arguments in .drone.yml for docker plugin在 .drone.yml 中为 docker 插件传递构建参数
【发布时间】:2018-04-14 06:18:57
【问题描述】:

我有以下 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中我应该怎么做@

【问题讨论】:

    标签: docker drone.io docker-build


    【解决方案1】:

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

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

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

    build_args_from_env:[变量]

    这对我有用

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多