如何使用 BUILDBOT_CONFIG_URL 配置 buildbot docker 容器

How to configure the buildbot docker container using BUILDBOT_CONFIG_URL

buildbot 的 official docker 容器的文档期望 BUILDBOT_CONFIG_URL 环境变量指向可通过 HTTP 访问的 .tar.gz 文件,其中包含 master.cfg 文件。

version: '2'
services:
  buildbot:
    image: buildbot/buildbot-master:master
    env_file:
      - db.env
    environment:
      - BUILDBOT_CONFIG_DIR=config
      - BUILDBOT_CONFIG_URL=https://github.com/buildbot/buildbot-docker-example-config/archive/master.tar.gz
      - BUILDBOT_WORKER_PORT=9989
      - BUILDBOT_WEB_URL=http://localhost:8010/
      - BUILDBOT_WEB_PORT=tcp:port=8010
    links:
      - db
    depends_on:
      - db
    ports:
      - "8010:8010"
  db:
    env_file:
      - db.env
    image: "postgres:9.4"
    expose:
      - 5432

docker 示例使用此文件作为 docker 图像的基础: https://github.com/buildbot/buildbot/blob/master/master/Dockerfile

将此脚本定义为其入口点: https://github.com/buildbot/buildbot/blob/master/master/docker/start_buildbot.sh

在那个脚本中,配置是通过下载和解压明确处理的:

until curl -sL $BUILDBOT_CONFIG_URL | tar -xz --strip-components=1 --directory=$B/$BUILDBOT_CONFIG_DIR

并进一步链接为 master.cfg 文件。所以总而言之,魔法取决于设置配置文件的附加脚本,以便它与典型设置相匹配。