Перейти к содержимому
Почта и ИТ-инфраструктура

Свой GitLab и автоматическая выкладка: что это даёт команде

Зачем небольшой команде свой GitLab и автоматическая выкладка обновлений: история изменений, проверка до выкладки, откат за минуту. Что входит и сколько стоит.

4 минуты чтенияКоманда RKTSocial

Пятница, вечер. Разработчик подключается к серверу, копирует новые файлы сайта поверх старых, перезапускает службу. Сайт падает: забыл установить новую библиотеку. Он пытается вернуть старые файлы, но часть уже перезаписана, а копии нет. Сайт лежит до ночи, заявки за вечер пропали.

Ручная выкладка держится на памяти и аккуратности одного человека. Свой GitLab с автоматической выкладкой превращает обновление в повторяемую процедуру: код хранится с историей, перед выкладкой проверяется, а откат занимает минуту. Мы сами так работаем: наш сайт обновляется отправкой изменений в репозиторий, остальное делает конвейер. Разберём, что это даёт небольшой команде.

Ручная выкладка против конвейера

Что важноВручнуюЧерез GitLab
Кто может выложитьТот, у кого есть доступ к серверу и знание порядкаЛюбой разработчик, без доступа к серверу
ПроверкиЕсли не забылиАвтоматически перед каждой выкладкой
ИсторияНеизвестно, что и когда менялиКаждое изменение с автором и описанием
ОткатВосстановить файлы вручную, если есть копияВыложить предыдущую версию за минуту
Уход разработчикаЗнание уходит с нимПроцедура остаётся в репозитории
Хорошая выкладка скучная: нажали, подождали полторы минуты, обновление на сайте. Всё интересное должно происходить до неё, в проверках.

Что входит в свой GitLab

  1. Шаг 1

    Репозитории

    Код сайтов, ботов и скриптов с историей изменений и правами по проектам.

  2. Шаг 2

    Runner

    Исполнитель задач на вашем сервере: собирает проект, запускает проверки, выкладывает.

  3. Шаг 3

    Конвейер проверок

    Сборка, тесты, проверка кода. Если что-то не прошло, выкладка не начинается.

  4. Шаг 4

    Автоматическая выкладка

    После проверок обновление само раскатывается на сервер и перезапускает службу.

  5. Шаг 5

    Хранение секретов

    Пароли и ключи хранятся в защищённых настройках проекта, в коде их нет.

Зачем свой, если есть облачные сервисы

  • Код и доступы у вас. Исходники клиентских проектов не лежат у стороннего сервиса.
  • Runner рядом с серверами. Выкладка во внутреннюю сеть без открытия серверов наружу.
  • Нет ограничений тарифа. Минуты конвейера и число участников не упираются в платный план.
  • Один центр для всего. Сайты, боты, скрипты автоматизации и инфраструктурные настройки в одном месте.

Пример: команда из трёх разработчиков

Условная компания: два сайта и бот, три разработчика, выкладка вручную по инструкции в чате. После перехода на свой GitLab каждый проект собирается и проверяется при отправке изменений, выкладка в основную ветку идёт автоматически, неудачная сборка не доходит до сервера. Доступ к боевым серверам остался только у администратора. GitLab для команды стоит от 15 000 ₽.

Сколько стоит

ПозицияЦенаЧто входит
GitLab для командыот 15 000 ₽Собственный GitLab, Runner и автоматическая выкладка проектов
База знаний XWikiот 15 000 ₽Документация и регламенты рядом с кодом
Менеджер паролей Passboltот 15 000 ₽Доступы команды с разграничением прав
Настройка Windows или Linux сервераот 10 000 ₽Сервер под GitLab, если его нет

Когда небольшой команде пора ставить GitLab и базу знаний, разобрано в статье «База знаний и свой GitLab для небольшой команды». Если сайт переезжает на новый сервер, читайте «Переезд сайта без простоя».

Как мы делаем

Разворачиваем GitLab и Runner, переносим проекты с историей, настраиваем конвейер под каждый проект: сборка, проверки, выкладка, и показываем откат. Секреты выносим из кода в настройки. Подробности на странице паролей, базы знаний и кода, смета в калькуляторе.

Частые вопросы

Нужен ли отдельный сервер?

Желательно: GitLab требователен к памяти. Runner можно поставить рядом с боевыми серверами.

Можно ли перенести проекты из облачного сервиса?

Да, вместе с историей изменений.

Подойдёт ли для сайта на конструкторе?

Нет, конвейер работает с кодом. Для конструкторов выкладка устроена внутри платформы.

Кто будет обслуживать GitLab?

Обновления и копии настраиваются при запуске; сопровождение возможно отдельно.

Коротко

  • Ручная выкладка держится на памяти одного человека и не имеет быстрого отката.
  • Свой GitLab хранит историю, проверяет каждое изменение и выкладывает его сам.
  • Код и доступы остаются у вас, ограничений тарифа нет.
  • GitLab для команды от 15 000 ₽.

Следующий шаг: соберите инструменты в калькуляторе или посмотрите все услуги на rktsocial.com.