【问题标题】:Passing parameters in docker-compose and into POM在 docker-compose 和 POM 中传递参数
【发布时间】:2021-09-29 08:30:43
【问题描述】:

我知道有一种方法可以通过 POM 在 maven 中传递参数。

POM MAVEN

<properties>
    <webproperty> ${webproperty} </webproperty>
</properties>

使用 MAVEN 的命令行

mvn install "-Dwebproperty=chrome"

我最近切换到 Docker,我想知道是否还有一种方法可以通过 POM 传递参数?我正在查看一些示例,并想知道我是否以正确的方式进行。

Docker YAML

 build:
    image: something/webtest 
    environment:
     - HUB_HOST=hub
    browser:
     - BROWSER=${BROWSER_TYPE}

带有 DOCKER 的命令行

docker-compose up BROWSER_TYPE=chrome

此命令仍然有效。

System.getProperty("BROWSER_TYPE");

提前致谢!

【问题讨论】:

    标签: java docker maven docker-compose dockerfile


    【解决方案1】:

    pom 的参数不能在 pom xml 之外传入。我认为您可以使用模板文件分别生成每个 pom 文件。

    【讨论】:

      【解决方案2】:

      我想通了:

      1. 在 DockerFile 中添加一个参数。
      ARG BROWSER
      
      1. 在您的 jenkinsfile 中创建命令
      BROWSER=chrome docker-compose up myrun
      
      1. 在 docker yaml 文件中将其添加到构建中

      环境:

      • HUB_HOST=hub
      • 浏览器= ${BROWSER}
      1. 将其添加到 java 命令中
      -Dbrowser="$browser"
      
      1. 使用 System.getProperty("browser") 在您的代码中调用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-20
        • 1970-01-01
        • 1970-01-01
        • 2019-08-27
        • 1970-01-01
        相关资源
        最近更新 更多