Где на самом деле должен работать GitLab Runner? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь настроить конвейер непрерывной интеграции / развертывания с помощью GitLab CI, и я пытаюсь понять (и не могу найти никакой информации в документации) о том, где на самом деле должен жить GitLab Runner.Должен ли я запустить один на моей локальной машине?Должен ли быть сервер, который просто размещает Runner?

Насколько я понимаю, цель бегуна - выполнять задания, которые запускаются коммитом.После фиксации GitLab Runner попытается выполнить задания, определенные в файле .gitlab-ci.yml.

Я знаю, что эти задания могут выполнять множество задач, но в качестве отправной точки я просто хотел бы подключить SSH к серверу и развернуть мой код.

Мое замешательство происходит из-за непонимания, каково рекомендуемое место, где бегун должен жить и бегать?Кажется потенциально проблематичным хранить его на моем локальном компьютере, поскольку это будет зависеть от того, включен ли мой компьютер и доступен ли он для развертывания.Значит ли это, что нам нужен другой сервер только для самого бегуна?

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Где?Ну, когда захочешь.Бегун Gitlab работает в режиме pull, то есть бегун связывается с веб-API сервера и проверяет наличие заданий, он также связывается с сервером для загрузки всех журналов.Это означает, что бегунок gitlab может находиться за NAT или может быть очень динамичным.

Исполнитель SSH работает, подключаясь по SSH от бегуна к цели.Это означает, что у машины с бегуном должен быть маршрут к целевому серверу.

Что касается того, где вы должны запускать бегунов?Ну, это зависит от вас.Возможно, вам иногда нужно запускать его на своем ноутбуке для подключения к локальной виртуальной машине, возможно, вам нужна мощная машина в облаке, может быть, вы хотите запустить дешевую машину на старом сервере в своем подвале.Может быть, все три.

0 голосов
/ 29 января 2019

Как сказано в документации, бегуны GitLab - это изолированные (виртуальные) машины, которые получают задания через API-координатор GitLab CI.Они могут быть установлены в любом дистрибутиве.Перед настройкой получите токен бегуна со страницы администратора / бегунов.Затем зарегистрируйтесь в

sudo gitlab-runner register

. Вы можете использовать GitLab Runner в образе докера на вашем VPS, например, AWS.Это пример бегунов-автоматов .Драйвер установлен на amazonec2 , есть несколько опций, таких как ключ доступа , регион , сек-группа .

  [runners.machine]
    IdleCount = 1
    IdleTime = 1800
    MaxBuilds = 10
    OffPeakPeriods = [
      "* * 0-9,18-23 * * mon-fri *",
      "* * * * * sat,sun *"
    ]
    OffPeakIdleCount = 0
    OffPeakIdleTime = 1200
    MachineDriver = "amazonec2"
    MachineName = "gitlab-docker-machine-%s"
    MachineOptions = [
      "amazonec2-access-key=XXXX",
      "amazonec2-secret-key=XXXX",
      "amazonec2-region=us-central-1",
      "amazonec2-vpc-id=vpc-xxxxx",
      "amazonec2-subnet-id=subnet-xxxxx",
      "amazonec2-zone=x",
      "amazonec2-use-private-address=true",
      "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true",
      "amazonec2-security-group=xxxxx",
      "amazonec2-instance-type=m4.2xlarge",
    ]

В разделе [runners.docker] задайте образ Docker по умолчанию.

...