【问题标题】:How can I configure the value of `-container-network` in selenoid for every jenkins build?如何为每个 jenkins 构建配置 selenoid 中的 `-container-network` 的值?
【发布时间】:2019-01-11 15:15:02
【问题描述】:

每个 Jenkins 构建都会在运行 selenoid 测试之前创建一个网络。例如,

Creating network "jenkinspr613build11_default"。 网络名称基于 PR 和内部版本号。

docker-compose.yaml 文件,对 selenoid 服务有以下配置:

selenoid:
    image: "aerokube/selenoid:latest-release"
    command: -listen :4444 -conf /etc/selenoid/browsers.json -limit 6 -video-output-dir /opt/selenoid/video/ -timeout 3m -container-network jenkinswebpr613build11_default
    ports:
      - "4444:4444"

如何为每个构建配置-container-network 的值?

我可以将环境变量传递给 yaml 文件吗?

当我硬编码-container-network 的值时,我可以在本地启动测试。

【问题讨论】:

    标签: docker jenkins docker-compose yaml selenoid


    【解决方案1】:

    docker-compose 从项目名称(可以使用-p 参数显式传递给docker-compose up)和内部名称构建网络名称。

    要指定内部网络,只需将其明确写入docker-compose.yml 文件并将所有服务链接到它,例如:

    docker-compose.yml

    version: '3'
    services:
      selenoid:
        ...
      networks:
        - my-lovely-net
    
    networks:
      my-lovely-net:
    

    另外,如果你不想每次都重新创建网络,而是想重用全局网络,你必须先像docker network create foo一样创建它,然后告诉docker-compose网络是外部的:

    docker-compose.yml

    version: '3'
    services:
      selenoid:
        ...
      networks:
        - my-lovely-net
    
    networks:
      my-lovely-net:
        external: true
        name: foo
    

    【讨论】:

    • 一个小补充。 Selenoid 只是一个网络服务。所以没什么特别的。一个通用的 Docker Compose 答案将起作用。
    【解决方案2】:

    由于每次 Jenkins 构建都会更改网络名称,因此我使用了不同的解决方案:

    Network 的值被设置为命令行变量${NETWORK_TAG},如下所示:

    selenoid:
        image: "aerokube/selenoid:latest-release"
        command: -listen :4444 -conf /etc/selenoid/browsers.json -limit 6 -video-output-dir /opt/selenoid/video/ -timeout 3m -container-network ${NETWORK_TAG}
        ports:
          - "4444:4444"
    

    docker-compose up 命令运行如下:

    
    NETWORK_TAG=$JENKINS_NETWORK_NAME docker-compose -f docker-compose-selenoid.yml up --build
    
    

    $JENKINS_NETWORK_NAME 的值是为每个 Jenkins 构建动态设置的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多