Gitlab runner + autoscaling + scaled runner选项

ron*_*kot 12 gitlab docker gitlab-ci gitlab-ci-runner

我正在使用带docker+machine执行程序的gitlab runner 来启动AWS上的自动标量运行程序.我想在runners中使用docker-in-docker设置来构建容器,但我无法找到如何[runners.docker]为生成的runner 定义所需的属性以启用docker使用.

是否有可能以某种方式将一些配置信息传递给自动转换的跑步者?

Ruf*_*nus 1

您只需要在自动缩放运行器的 config.toml 中添加以下内容:

[runners.docker]
  privileged = true
Run Code Online (Sandbox Code Playgroud)

我使用 docker-in-docker 构建自己的 php 容器进行测试并将它们存储在 gitlabs 注册表中。有关构建示例,请参阅https://gitlab.cwd.at/docker/php/builds/21582 ;有关构建,请参阅https://gitlab.cwd.at/docker/php/blob/master/.gitlab-ci.yml定义

在这里查看我当前的配置 - 它使用 S3 进行缓存,使用 digitalocean 进行跑步:

concurrent = 10

[[runners]]
  name = "ec2-autoscale-runner"
  url = "https://gitlab.mydomain.at/ci"
  token = "12345"
  executor = "docker+machine"
  limit = 10
  environment = ["COMPOSER_CACHE_DIR=/cache"]
  [runners.machine]
    OffPeakPeriods = [               # Set the Off Peak time mode on for:
      "* * 0-9,18-23 * * mon-fri *", # - Monday to Friday for 12am to 9am and 6pm to 11pm
      "* * * * * sat,sun *"          # - whole Saturday and Sunday
    ]
    OffPeakIdleCount = 0             # There must be 1 machine in Idle state - when Off Peak time mode is on
    OffPeakIdleTime = 3550           # Each machine can be in Idle state up to 1200 seconds (after this it will be removed) - when Off Peak time mode is on
    IdleCount = 0                    # There must be 5 machines in Idle state - when Off Peak time mode is off
    IdleTime = 3550                  # Each machine can be in Idle state up to 600 seconds (after this it will be removed) - when Off Peak time mode is off
    MaxBuilds = 100                    # Each machine can handle up to 100 builds in a row (after this it will be removed)
    MachineName = "auto-scale-%s"    # Each machine will have a unique name ('%s' is required)
    MachineDriver = "digitalocean"   # Docker Machine is using the 'digitalocean' driver
    MachineOptions = [
        "digitalocean-image=21937863",
        #"digitalocean-image=20969606",
        "digitalocean-access-token=12345",
        "digitalocean-region=fra1",
        "digitalocean-size=4gb",
        "digitalocean-private-networking",
        "digitalocean-ipv6=true"
    ]
  [runners.ssh]
    user = "root"
    identity_file = "/etc/gitlab-runner/id_rsa"
  [runners.docker]
    privileged = true
  [runners.cache]
    Type = "s3"
    ServerAddress = "s3.amazonaws.com"
    AccessKey = "1234"
    SecretKey = "1234"
    BucketName = "cwd-gitlab-cache"
    BucketLocation = "eu-central-1"
    Insecure = false
Run Code Online (Sandbox Code Playgroud)