Кэширование в GitLab CI: гайд с картинками

GitLab имеет множество сфер применения и широкие возможности, что в сочетании с удобным инструментарием делает его удобным сервисом как для начинающих разработчиков, так и для профессионалов. После указания всех данных и нажатия на кнопку «Create repo», репозиторий будет создан, а на его странице будет доступен стартовый набор действий. Для входа можно использовать аккаунты в других сервисах и социальных сетях. Теперь можно проверить наличие новой ветки staging в интерфейсе GitLab.
Что хранить на GitLab
С его помощью очень удобно заниматься совместной разработкой проектов. В статье расскажем, как работает инструмент и зачем его используют. При внедерении процесса также было проведено обучение для сотрудников, не имеющих практики работы с Git и GitLab, для которого была разработана соответствующая программа обучения. С её помощью вы сами сможете проводить обучение по использованию Source Tree и Intellij IDEA для работы с Git, а также GitLab для проведения ревью кода.

# Первичная настройка и начало работы Gitlab

Все изменения вносятся в Git отдельно, что позволяет следить за ними и возвращаться к прошлым версиям. Главным структурным элементом является репозиторий — каталог, где хранятся все файлы одного проекта. Я рассмотрел базовые возможности GitLab и намеренно не затрагивал аналитические инструменты, интеграцию с Kubernetes и дополнительные функции, пытаясь сконцентрироваться на важнейших концептах GitLab и git. Это то, что вам необходимо для старта, независимо от того, пользовались вы ранее другими системами управлениями репозиториями или нет. Теперь можно с ним взаимодействовать, то есть загружать файлы, делать коммиты, создавать различные ветки для разработки продукта и мерджить их при необходимости.

Также отмечу, что для проекта были настроены интеграции в Jira и Git. В Jira в плагине Git был добавлен для отслеживания репозиторий, созданный для хранения исходного кода, а в GitLab у данного репозитория была настроена интеграция с Jira в разделе «Интеграции» репозитория. В GitLab можно добавлять неограниченное количество разработчиков даже к приватным репозиториям. Чтобы сделать это, надо перейти в меню «Настройки» (Settings) и выбрать пункт «Участники» (Members). В этом пункте в поле «Выбрать участника для приглашения» (Select members to invite) надо указать адрес электронной почты пользователя или его никнейм.

Загрузка файлов проекта

Для запроса на слияние разработчик разрешает конфликты слияния (в случае наличия) и производится code review, в ходе которого возможно создание дополнительных коммитов с исправлениями замечаний, полученных в ходе ревью кода. Эти коммиты также производятся в локальную ветку hotfix/BUGNAME (git commit hotfix/BUGNAME -m “Commit message”) и производится их пуш в удалённую ветку с аналогичным названием (git push -u origin hotfix/BUGNAME). Далее по аналогии производится подготовка среды к автотестированию, прогон регрессионных автотестов и нотификация о его результатах.
Что хранить на GitLab
Для реализации изменений и их отслеживание, разработчику важно иметь собственную ветку, код из которой в дальнейшем можно будет передать в master-ветку. Статья рассчитана на читателей, которые уже хотя бы немного знакомы с Git. Изучить основы работы с системой контроля версий можно бесплатно в большом курсе Хекслета. Также GitLab предоставляет простой интерфейс для управления контейнерами.

Распределенный кэш

Перейдем в раздел Repository — Branches и обнаружим созданную ветку. Если перейти в нее, там будет созданный на предыдущих шагах файл new-staging.txt. В первом случае проект будет доступен только вам, во втором всем пользователям данной инсталляции GitLab, в третьем случаем всем подряд и без авторизации.
Что хранить на GitLab
Установка релиза как на один сервер, так и на множество, будет занимать минимум времени. После реконфигурации GitLab, появится возможность подключаться к веб-интерфейсу по протоколу https. После окончания процесса конфигурации, откроется интерфейс GitLab и запрос https://deveducation.com/ на изменения пароля администратора. В нашем примере для GitLab используется выделенный сервер фиксированной конфигурации EL09-SSD с процессором Intel Xeon E-2236, 16 Гб оперативной памяти, двух SSD-дисков по 480 Гб и операционной системой Ubuntu 20.04 LTS 64-bit.

Три схемы развёртывания GitLabТри схемы развёртывания GitLab

Защита секретов — это решение, которое GitLab стремится предоставить. Как видим, по умолчанию резервные копии хранятся в /var/opt/gitlab/backups. Если нужно больше места для их хранения, выделите для этого отдельное дисковое пространство и перепишите как дать доступ к репозиторию github в конфигурационном файле путь к ним. Запущенная задача попросит указать имя пользователя — указываем root — и задать новый пароль для него. Нам понадобится подготовленный к работе сервер на Ubuntu или CentOS с предустановленным Gitlab.

Если же установка прошла успешно, то команда QA оповещается о готовности задачи к тестированию. Автоматически производится переход в созданную ветку (git checkout MYFEATURE), запланированный функционал разрабатывается и изменения коммитятся в локальную ветку MYFEATURE (git commit -m “Commit message”). Заметим, что для корректной интеграции Git и Jira в сообщениях коммитов следует указывать код задачи в Jira, к которой это исправление относится. Тогда данные коммиты будут отображаться в соответствующих им задачах, а также в разделе «Коммиты Git» проекта, с помощью которого однозначно можно установить, что вошло в тот или иной релиз. В скором времени GitFlic сможет предложить ещё больше функций и инструментов для полного цикла разработки ПО. Ещё одно важное преимущество GitLab — богатая функциональность в рамках наиболее важных инструментов.