У меня запущена версия gitlab CE в Google Cloud Platform.
Цель: я хочу заранее знать, какой IP будет использовать бегун, чтобы я мог внести белый список в брандмауэр серверов, на которых я хочу развернуть.
Предлагаемое решение: Я решил, что шлюз Google NAT должен решить эту проблему.Пока я не могу понять, как это сделать.Я создал NAT Я установил NAT IP на ручной (для получения статического IP)
Не работает: я попытался запустить тестовое задание с dig +short myip.opendns.com @resolver1.opendns.com
, полагая, что это скажет мне, какой публичный IP-адрес он использует, ипросто использует публичный адрес текущего участника.
Дополнительные попытки: я попытался добавить google-use-internal-ip-only=true
в конфигурацию.Это не позволило экземплярам получить общедоступный IP-адрес, однако также помешало бегуну Gitlab общаться с бегунами, которых он запускал.Я пытался читать Google Cloud Docs.Я не понимаю, как я должен это настроить.
[[runners]]
name = "Local runner using docker-machine CoreOS instances"
url = "https://XXXXXXX.com/ci"
token = "XXXXXXXX"
executor = "docker+machine"
environment = ["DOCKER_DRIVER=overlay"]
[runners.docker]
tls_verify = false
image = "docker:latest"
privileged = true
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache", "/mnt/cache" ]
shm_size = 0
[runners.cache]
Type = "s3"
ServerAddress = "XXXXXXX.com:9005"
AccessKey = "XXXXXX"
SecretKey = "XXXXXXXX"
BucketName = "runner-cache"
Shared = true
[runners.machine]
IdleCount = 1
IdleTime = 600
MachineDriver = "google"
MachineName = "auto-scale-%s"
MachineOptions = ["google-project=gitlab-ci-jobs", "google-zone=us-east1-b", "google-machine-image=https://www.googleapis.com/compute/v1/projects/coreos-cloud/global/images/family/coreos-stable", "google-machine-type=n1-standard-4", "google-disk-size=200", "google-disk-type=pd-ssd", "engine-registry-mirror=https://git.bitbean.com:6000", "google-scopes=https://www.googleapis.com/auth/devstorage.read_write,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write"]
OffPeakTimezone = ""
OffPeakIdleCount = 0
OffPeakIdleTime = 0
Я также открыт для других решений.Как другие организации разрешают своим бегунам CI / CD получать доступ к своим собственным серверам с целью развертывания на них новых артефактов?