Фев 082024
 

Вот и пришла пора вступить на тернистый путь контроля версий git, после теплого и лампового SVN. Для начала утоним, чем же хорош этот пресловутый инструментарий. GitLab — это проект, который используя систему управления репозиториями git полностью обеспечивает жизненный цикл DevOps, включая wiki, CI/CD и многое другое. По сравнению с другими версиями GitLab, Community Edition предоставляет ограниченный набор функций, но все же является мощным инструментом для управления проектами разработки ПО. Корпоративные версии предоставляют более широкие возможности, такие как расширенная аналитика, аварийное восстановление и средства безопасности.

Что же нам понадобится для развертывания данного инструмента для разработчика:
1. Debian 12 или новее;
2. Выделенная оперативная память не менее 8 Гб;
3. Дисковое пространство 50 Гб + место под проекты;
4. Процессорных ядер не менее 4 шт;
5. Доменное имя.

Это основное, там еще есть почтовые сервисы, и другие плюшки, но и без этого будет работать.
На самом деле, инструкция будет довольно короткой, так как добрые разработчики сделали все до нас, и по сути установочные скрипты сделают всю грязную работу сами, главное не накосячить в мелочах.
1. Обновление Debian

apt update && sudo apt upgrade

2. Установка необходимых пакетов

apt install htop mc ssh curl ca-certificates apt-transport-https tzdata perl

3. Установить локаль, потребуется для PostgreSQL

sh -c "echo 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale"

4. Импорт репозитория GitLab

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash

5. Установка Gitlab CE

apt install gitlab-ce

6. Настройка GitLab

nano /etc/gitlab/gitlab.rb

В нем нам нужно поправить несколько основных вещей, как то доменное имя, на которое будем получать сертификат, и настройки почтового сервиса, для получения оповещений.
Находим, заменяем на необходимое:

external_url 'https://gitlab.example.com'

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mail.ru"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "robot@r2d2.pro"
gitlab_rails['smtp_password'] = "123456789"
gitlab_rails['smtp_domain'] = "smtp.mail.ru"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['gitlab_email_from'] = "robot@r2d2.pro"
gitlab_rails['gitlab_email_reply_to'] = "robot@r2d2.pro"

7. Если нигде не удалось до этого момента накосячить, то запуск установки указанной команды ниже, должен пройти без ошибок, и по итогу, заходя по адресу, изначально указанному нами в переменной external_url, должен открыться сайт.

gitlab-ctl reconfigure

Если перед установкой не была задана переменная с паролем администратора, после установки пароль администратора в течение 24 часов хранится в файле

cat /etc/gitlab/initial_root_password

Если необходимо сбросить пароль root, можно воспользоваться следующей командой:

gitlab-rake "gitlab:password:reset[root]"

8. Установка GitLab Runner
Для установки сборщика нужно воспользоваться официальным репозиторием GitLab:

# установка Docker
apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
 $(lsb_release -cs) stable"
| tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io

# установка GitLab-Runner
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | bash -
apt update
apt install -y gitlab-runner

9. Обновление GitLab

#Обновление GPG ключа репозитория:
curl -L https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey | sudo apt-key add -
apt update
apt install gitlab-ce

Основные файлы GitLab расположены:

/etc/gitlab/ — конфигурация gitlab
/var/log/gitlab/ — журналы gitlab
/opt/gitlab/ — бинарные файлы gitlab
/var/opt/gitlab/ — рабочие директории nginx, postgresql, redis, registry, prometheus, grafana

Полезные ссылки:
Установка Gitlab CE на Debian/Ubuntu Linux
Как установить GitLab в Debian 12
Запуск GitLab на Debian 11

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)