Инструменты

Установка GitLab с использованием Docker: эффективное развертывание среды разработки

В современном мире разработки программного обеспечения – использование систем контроля версий становится неотъемлемой частью процесса работы. Одним из наиболее мощных и гибких инструментов в этой области является 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 это выглядит следующим образом: заходим в терминал и прописываем учетные данные для доступа к серверу. 

Bash
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: 
# далее вводим пароль

После входа, мы создаем папку и входим в неё:

Bash
mkdir gitlab
Bash
cd gitlab

Шаг 2. Создаем файл docker-compose.yml

Для развертывания GitLab в Docker’е необходимо создать файл docker-compose.yml, который определит контейнеры и их конфигурацию.

Bash
nano docker-compose.yml
YAML
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 и связанных с ним сервисов.

Bash
docker-compose up -d

После запуска контейнера GitLab’у требуется дополнительное время на проверку настроек, инициализацию базы данных и другие процессы, прежде чем приложение станет полностью готово к использованию. Примерно, это вопрос 5 минут, что позволяет вам успеть заварить чай с женьшенем ☕️ Just do it)

Bash
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
  • Получение пароля: выполните следующую команду в командной строке
Bash
cat /data/docker/gitlab/etc/gitlab/initial_root_password

Эта команда отобразит вам начальный пароль для учетной записи root. После получения пароля, войдите в GitLab с использованием учетной записи root.

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

В случае возникновения дополнительных вопросов или запроса дополнительной помощи, не стесняйтесь обращаться. Удачи в использовании вашего GitLab-окружения, и пусть ваш опыт работы с ним будет продуктивным и приятным!

Пред.
Метод k ближайших соседей: k-NN

Метод k ближайших соседей: k-NN

Содержание Show Как работает k-NN?

След.
Меры вариативности

Меры вариативности

Содержание Show РазмахИнтерквартильный размахДисперсия и среднеквадратичное

Вам также может понравиться