Вопрос

Я относительно новичок для непрерывных интеграционных серверов. Я использовал GitLab (V6.5) на некоторое время для управления проектами, но я хотел бы начать использовать GitLab CI, чтобы убедиться, что тесты Pass и Builds добиваются успеха.

Моя настройка тестирования состоит из двух виртуальных машин: одна машина для GitLab и другой машины для Gitlab CI (и бегунов). Однако в производстве у меня есть только одна машина, которая работает GitLab. The Gitlab Team опубликовала Интересный блог Post А пока обратно, который подчеркивал:

Если вы используете тесты на сервере CI, вы делаете это неправильно!

Это был очень информативный пост, но я не чувствовал, что я понял эту конкретную точку. Это означает, что нужно не управлять GitLab и Gitlab CI на одном сервере? Значит ли это, что не следует запускать Gitlab CI и Gitlab Ci бегунов на одном сервере? Или оба - мне нужны три сервера, один для каждой задачи?

из того же сообщения:

Любой, кто может нажать на ветвь, которая проверяется на сервере CI, может легко владеть этим сервером.

Это подразумевает мне, что бегуны - это уровень безопасности, поскольку они могут запускать вещи, содержащиеся в фиксации. Если это так, какова типичная реализация? Положите Gitlab и Gitlab CI на одной машине, но бегуны на отдельной машине? Разве это не все еще сосет, если машина бегуна была скомпрометирована? Так что люди в порядке, теряя свою бегуну машину до тех пор, пока их кодовый аппарат безопасен?

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

Это было полезно?

Решение

В идеале вы в хорошем запуске GitLab-CI и Gitlab на одном хосте. Другие могут не согласиться со мной, но орешератор (узел GitLab-Ci) не делает ни одного тяжелого подъема. Строго работают мета и складывание результатов.

с этим говорим, я бы не поставил бегунов на ту же машину. Бегуны Gitlab-Ci являются ресурсными интенсивными и будут выполняться на полном наклоне на любой машине, на которой вы их размещаете. Это хорошая идея, если вы работаете в производстве, чтобы поставить их на точные экземпляры, чтобы помочь обуздать некоторые из затрат на запуск зачастую процессор / память, голодные сборки - но могут быть непрактичными, поскольку ваши экземпляры не всегда на этом точке.

У меня был какой-то успех, чтобы положить мой бегун Gitlab-Ci в цифровой океан на небольшие экземпляры. Я не делаю огромные сборки, но идея состоит в том, чтобы распределить рабочую нагрузку на несколько серверов, поэтому ваш сервер CI:

    .
  • отзывчивый
  • может построить несколько строгий проект одновременно
  • может осуществлять изоляцию (это вид произвольно в этом списке)

и несколько других вещей, которые не приходят сразу.

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top