В современном мире разработки программного обеспечения — использование систем контроля версий становится неотъемлемой частью процесса работы. Одним из наиболее мощных и гибких инструментов в этой области является GitLab.
Установка GitLab на сервер с использованием Docker представляет собой эффективный способ создания собственного центра управления кодом, что делает его надежным решением для бизнеса в области эффективного управления проектами и кодом. Локальное развертывание GitLab обеспечивает бизнесу контроль над данными и обеспечивает высокий уровень безопасности и конфиденциальности.
Студенты, стремящиеся расширить свои навыки, найдут в этой установке отличную возможность погрузиться в мир современной разработки. В дополнение к этому, курс «Основы работы с Git» от Яндекс Практикума станет идеальным дополнением, обеспечивая теоретические основы и практические навыки.
Шаг 1. Аренда облачного сервера
Первым шагом в развертывании GitLab с использованием Docker является получение облачного сервера. Облачные провайдеры, такие как, Yandex Cloud , VK Cloud, или Timeweb Cloud, предоставляют возможность арендовать виртуальные серверы в облаке.
Выберите облачного провайдера, который наиболее соответствует вашим требованиям, и следуйте их инструкциям для создания и настройки виртуального сервера. Обычно вам будет предложено выбрать операционную систему и фигурацию сервера в соответствии с вашими потребностями, такими как количество ядер процессора, объем оперативной памяти и размер хранилища.
Перед арендой сервера обязательно ознакомьтесь с минимальными требованиями GitLab.
Параметр | Конфигурация |
---|---|
Жёсткий диск | 25 ГБ свободного пространства |
Оперативная память | 4 ГБ + |
Процессор | 2-х ядерный процессор 1.4 ГГц + |
Операционная система | Linux (предпочтительно Ubuntu, Debian, CentOS) |
Сетевые подключения | Порты 22 (SSH), 80 (HTTP), 443 (HTTPS) открыты |
После создания сервера в облаке, получите доступ к нему посредством SSH или других предоставленных средств удаленного доступа.
Я собираюсь установить GitLab на сервере, предоставляемом провайдером Timeweb Cloud, который является самым бюджетным вариантом. Также при выборе сервера необходимо предустоновить Docker выбрав последний версию Ubuntu.
Далее подключаемся к серверу через командную строку для удобства дальнейшей работы. На macOS это выглядит следующим образом: заходим в терминал и прописываем учетные данные для доступа к серверу.
zurab@MacBook-Air ~ % ssh root@147.45.106.59
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
root@147.45.106.59's password:
# далее вводим пароль
После входа, мы создаем папку и входим в неё:
mkdir gitlab
cd gitlab
Шаг 2. Создаем файл docker-compose.yml
Для развертывания GitLab в Docker’е необходимо создать файл docker-compose.yml
, который определит контейнеры и их конфигурацию.
nano docker-compose.yml
version: '3.8'
services:
gitlab:
image: gitlab/gitlab-ce:latest
hostname: gitlab.shakhbanov.org # Укажи свой домен
restart: unless-stopped
environment:
GITLAB_OMNIBUS_CONFIG: |
gitlab_rails['gitlab_shell_ssh_port'] = 22
external_url 'https://gitlab.shakhbanov.org:443' # Укажи свой домен
letsencrypt['enable'] = true
# Укажи свой адрес E-mail
letsencrypt['contact_emails'] = ['info@shakhbanov.org']
ports:
- "443:443"
- "80:80"
- "2222:22"
volumes:
- /data/docker/gitlab/etc/gitlab:/etc/gitlab
- /data/docker/gitlab/var/opt/gitlab:/var/opt/gitlab
- /data/docker/gitlab/var/log/gitlab:/var/log/gitlab
networks:
- gitlab_net
gitlab-runner:
image: gitlab/gitlab-runner:alpine
restart: unless-stopped
depends_on:
- gitlab
volumes:
- /data/docker/gitlab/etc/gitlab-runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
networks:
- gitlab_net
networks:
gitlab_net:
driver: bridge
Сохраняем и выходим… и перед запуском docker-compose
не забудьте установить A-запись вашего домена, указывающую на IP-адрес вашего сервера. Это позволит вашему доменному имени разрешаться в соответствующий IP-адрес, обеспечивая корректную работу вашего контейнера Docker и связанных с ним сервисов.
docker-compose up -d
После запуска контейнера GitLab’у требуется дополнительное время на проверку настроек, инициализацию базы данных и другие процессы, прежде чем приложение станет полностью готово к использованию. Примерно, это вопрос 5 минут, что позволяет вам успеть заварить чай с женьшенем ☕️ Just do it)
docker ps
После того, как вы насладитесь чашкой чая убедитесь, что система запустилась полностью, когда процесс завершится успешно, вы увидите статус «healthy», указывающий на то, что все компоненты работают исправно и система готова к использованию.
После завершения установки GitLab посетите ваш URL-адрес, указанный в файле
Docker Compose
GitLab имеет встроенную интеграцию с Let’s Encrypt для упрощения получения и обновления SSL-сертификатов. Если GitLab запущен в публичном доступе и указан внешний URL с HTTPS, GitLab автоматически запросит SSL-сертификат у службы Let’s Encrypt. Этот сертификат будет автоматически обновляться GitLab’ом при необходимости, обеспечивая безопасное соединение с веб-приложением GitLab.
Шаг 3. Вход в GitLab: получение пароля
После установки GitLab, используйте следующую информацию для входа:
- Логин: root
- Получение пароля: выполните следующую команду в командной строке
cat /data/docker/gitlab/etc/gitlab/initial_root_password
Эта команда отобразит вам начальный пароль для учетной записи root. После получения пароля, войдите в GitLab с использованием учетной записи root.
После входа в систему, рекомендуется сразу сменить пароль на свой собственный.
В случае возникновения дополнительных вопросов или запроса дополнительной помощи, не стесняйтесь обращаться. Удачи в использовании вашего GitLab-окружения, и пусть ваш опыт работы с ним будет продуктивным и приятным!