Как настроить Gitlab для непрерывной интеграции и развертывания на CentOS
На этой странице
- 1. Как работают непрерывная интеграция и непрерывное развертывание
- 2. Этап установки
- 3. Этап тестирования
В этом руководстве я объясню, как настроить локальный сервер Gitlab для работы CI (непрерывная интеграция)/CD (непрерывное развертывание). Как и все, кто еще этого не знает, GitLab — это полноценная платформа DevOps, поставляемая в виде единого приложения. От планирования проекта и управления исходным кодом через CI/CD до мониторинга и безопасности. Это позволяет командам сотрудничать и работать в рамках одного разговора вместо управления несколькими потоками в нескольких инструментах. Предоставляя единый репозиторий данных, пользовательский интерфейс и модель авторизации на протяжении всего жизненного цикла DevOps, команды могут значительно сотрудничать, сокращать время цикла и сосредоточиться исключительно на быстром создании каждого приложения.
По мере того как каждый бизнес-подход становится все более масштабным и комплексным, все продукты должны обладать более выдающимися характеристиками, чем их конкуренты. Для этого необходимо внедрить и разработать несколько модулей, как только они будут готовы, они должны быть быстро выведены на рынок и полностью протестированы и проверены. Таким образом, было бы действительно полезно достичь вехи, если бы Gitlab был единственным источником приложений, который мог бы облегчить процесс перехода к практике DevOps.
1. Как работают непрерывная интеграция и непрерывное развертывание
Существует логическая последовательность возможных действий на протяжении всего жизненного цикла процесса разработки программного обеспечения с использованием GitLab в качестве платформы для вашего кода. Цель состоит в том, чтобы последовательно и эффективно поддерживать команды от первого этапа внедрения нового продукта до заключительного этапа его внедрения в производство. На картинке ниже показана сводка рабочего процесса:
Поскольку область применения DevOps довольно велика, в этом руководстве основное внимание уделяется настройке сервера Gitlab в локальных условиях. Мы будем использовать Gitlab Community Edition для настройки в нашей локальной среде.
2. Этап установки
На этапе установки сначала мы начнем с настройки сервера с предварительными условиями, предполагая, что каждый сервер имеет минимальную конфигурацию сервера. Ниже приведены шаги:
[ ~]# yum updateinstall -y curl policycoreutils-python openssh-server
Выполнение вышеуказанного не является обязательным, просто чтобы обеспечить бесперебойную работу нашей установки и проверки. После завершения установки у вас будет скриншот, как показано ниже.
Затем запустите службу postfix по мере необходимости. Ниже приведены команды.
[ ~]# systemctl enable postfix
После этого у вас будет скриншот, как показано ниже.
Далее нам нужно установить wget, чтобы взять для установки скрипт автоматизации, предоставленный самим GitLab. Вы также можете использовать другой способ установки, например, с помощью Curl и т. д. В этом упражнении я буду использовать wget для загрузки скрипта. После установки пакетов wget мы загрузим отсюда скрипт и поместим его на наш локальный сервер. Ниже приведены шаги:
[ ~]# ./script.rpm.sh
Процесс будет таким, как показано ниже:
Далее мы начнем готовить сервис GitLab и настраивать его зависимости. Шаги, как показано ниже:
[ ~]# yum install -y gitlab-ce
Как только все будет сделано, вы увидите прогресс, как показано ниже.
Большой! Теперь все в руках, давайте продолжим процесс установки сервиса и его зависимостей. Поскольку GitLab был надежным приложением для совместной разработки DevOps, будет несколько пакетов и конфигурация. Поэтому это нормально, что время, необходимое для установки, будет больше, чем для любой обычной установки службы. Перед началом установки давайте подтвердим, что основной URL-адрес настроен должным образом. Ниже приведены шаги: -
[ ~]# gitlab-ctl reconfigure
Если прогресс идет гладко, вы получите изображение, как показано на скриншоте ниже.
Теперь, когда все сделано в части установки, давайте сделаем последний штрих, который позволит использовать порт для Gitlab. Ниже приведены шаги: -
[ ~]# iptables -L -n
Ниже скриншот
Теперь мы почти закончили установку GitLab, теперь мы можем начать вход на наш собственный сервер GitLab и настроить проект по мере необходимости. В качестве окончательных результатов вы можете просматривать свой сервис GitLab через браузер по URL-адресу, который мы настроили ранее, в нашем случае это http://10.124.12.133. Он автоматически перенаправит вас на главную страницу, а затем при необходимости установит ваш первоначальный пароль администратора. В этом случае пользователем-администратором по умолчанию является root. Ниже приведены примеры: -
3. Этап тестирования
Когда все будет готово, давайте действовать как пользователь в команде, которая определяет проект, использующий GitLab в качестве репозитория разработки проекта. Сначала давайте создадим новый проект, нажмите «Создать проект» и определите необходимые детали. Пример приведен ниже: -
После этого вы будете перенаправлены на главную страницу проекта, как показано ниже.
Теперь, как проект, в этот репозиторий будет внесено несколько пользователей. Чтобы воссоздать сценарий, давайте создадим пользователя, который позже будет участвовать в этом проекте. Вернитесь на главную страницу и нажмите «Добавить людей». Вы будете перенаправлены на страницу создания участника, как показано ниже. Создайте пользователя и заполните по мере необходимости.
Теперь, когда закончите, вернитесь на главную страницу проекта, перейдите в настройки и нажмите «Участники». Ниже приведены примеры: -
Это приведет вас на страницу участника проекта, включит нового пользователя, которого вы создали, и определите роли, которые нужно дать пользователю, как показано в примере ниже. Для каждого определения ролей и привилегий вы можете нажать «Подробнее» для получения более подробной информации.
После этого вы увидите список предоставленных членов команды, как показано ниже:
Теперь давайте проверим вклад рабочего процесса проекта, зайдя с другого сервера и войдя в систему как новый пользователь, которого мы создали, и создадим новый файл, который будет зафиксирован в проекте. Во-первых, давайте возьмем URL-адрес для клонирования проекта с другого сервера или рабочей станции. Вы можете взять URL-ссылку проекта из приведенного ниже примера:
Поскольку все подготовлено, давайте войдем на тестовую рабочую станцию и клонируем проект, чтобы он был доступен другому пользователю. Ниже приведены шаги: -
[ ~]# git clone http://10.124.12.133/root/my-first-project.git
Вам нужно будет предоставить пользователю доступ для клонирования проекта, используйте нового пользователя, созданного только что, как показано ниже:
После этого на вашей рабочей станции будет создана новая папка с названием проекта. Теперь зайдите в папку и создайте пустой файл. Это делается только для того, чтобы проверить, что проект может быть внесен любым членом команды с любой рабочей станции, и репозиторий проекта всегда будет обновляться синхронно. Ниже приведены шаги: -
[ my-first-project]# touch myfile.txt
Когда все сделано, давайте зафиксируем наши изменения, чтобы они синхронизировались с основным репозиторием проекта. Ниже приведены шаги: -
[ my-first-project]# git push -u origin master
После выполнения вышеуказанной команды процесс будет показан, как показано ниже: -
Большой! Когда все будет готово, вернемся в браузер и обновим страницу. Вы заметите, что новый файл, созданный пользователем shahril, отображается на главной странице проекта.