15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
31.10.2024
1 +1

Як встановити GitLab на Ubuntu: Повний посібник крок за кроком

GitLab — одна з найпотужніших платформ DevOps з відкритим вихідним кодом, доступних сьогодні, яка пропонує комплексний набір інструментів, включаючи контроль версій на основі Git, конвеєри безперервної інтеграції/безперервного розгортання (CI/CD), відстеження проблем та функції командної співпраці — все в одному місці. Незалежно від того, керуєте ви невеликою командою розробників або запускаєте проекти програмного забезпечення масштабу підприємства, самостійне розміщення GitLab на Ubuntu дає вам повний контроль над вашими даними, робочими процесами та інфраструктурою.

Цей посібник проведе вас через кожен крок встановлення та налаштування GitLab Community Edition (CE) на сервері Ubuntu, від початкової підготовки системи до включення HTTPS та управління сервісами.

Передумови

Перш ніж розпочати, переконайтеся, що у вас є наступне:

  • Сервер, на якому працює Ubuntu 20.04 або 22.04 LTS (рекомендується свіже встановлення)
  • Мінімум 4 GB RAM та 2 ядра CPU (GitLab рекомендує щонайменше 4 ядра для виробничого використання)
  • Доступ root або sudo до сервера
  • Зареєстроване доменне ім’я, яке вказує на IP-адресу вашого сервера (необов’язково, але настійно рекомендується для HTTPS)
  • Порти 80 та 443 відкриті у вашому брандмауері

> Порада: Для найкращої продуктивності GitLab розгляньте можливість розгортання на плані VPS Hosting з достатньою кількістю RAM та ресурсів CPU. Плани VPS AlexHost оптимізовані для робочих навантажень Linux і поставляються з повним доступом root, що робить їх ідеальним середовищем для самостійно розміщених платформ DevOps, таких як GitLab.

Крок 1: Оновлення пакетів системи

Перед встановленням будь-якого програмного забезпечення критично важливо переконатися, що індекс пакетів вашої системи та встановлені пакети повністю оновлені. Це запобігає конфліктам залежностей і гарантує, що ви працюєте з найновішими патчами безпеки.

sudo apt update && sudo apt upgrade -y

Дочекайтеся завершення процесу оновлення перед переходом до наступного кроку.

Крок 2: Встановлення необхідних залежностей

GitLab вимагає кількох допоміжних пакетів для правильної роботи, включаючи інструменти для безпечного зв’язку, управління часовими поясами та скриптування. Встановіть їх за допомогою наступної команди:

sudo apt install -y curl openssh-server ca-certificates tzdata perl

Ось що робить кожен пакет:

ПакетПризначення
curlЗавантажує скрипти та файли з веб-сайту
openssh-serverДозволяє SSH доступ до вашого сервера
ca-certificatesПеревіряє сертифікати SSL/TLS
tzdataНадає дані часового поясу
perlНеобхідний для внутрішніх скриптів GitLab

Крок 3: Додавання офіційного репозиторію GitLab

GitLab підтримує офіційний репозиторій пакетів, який спрощує встановлення та майбутні оновлення. Використовуйте наступну команду для завантаження та виконання скрипту налаштування репозиторію:

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

Цей скрипт автоматично:

  • Визначає вашу версію Ubuntu
  • Додає репозиторій пакетів GitLab до ваших джерел APT
  • Імпортує ключ підпису GPG репозиторію для перевірки пакетів

Після завершення скрипту ваша система готова до встановлення GitLab безпосередньо з офіційного джерела.

Крок 4: Встановлення GitLab Community Edition

Тепер встановіть GitLab CE за допомогою менеджера пакетів apt. Ви повинні встановити змінну середовища EXTERNAL_URL на URL або IP-адресу, через яку користувачі матимуть доступ до вашого екземпляра GitLab.

Якщо у вас є доменне ім’я:

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Якщо ви використовуєте IP-адресу (наприклад, для локального або приватного сервера):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Замініть gitlab.yourdomain.com або YOUR_SERVER_IP на вашу фактичну доменну назву або IP-адресу.

> Примітка: Процес встановлення може тривати кілька хвилин, оскільки він завантажує та налаштовує всі компоненти GitLab, включаючи PostgreSQL, Redis, NGINX та Sidekiq.

Під час встановлення GitLab буде:

  • Встановлювати всі включені сервіси (база даних, кеш, веб-сервер тощо)
  • Налаштовуватися на основі EXTERNAL_URL, який ви надали
  • Генерувати початкові файли конфігурації в /etc/gitlab/

Крок 5: Запуск переналаштування GitLab

Після встановлення запустіть команду переналаштування, щоб завершити налаштування, ініціалізувати базу даних та запустити всі сервіси GitLab:

sudo gitlab-ctl reconfigure

Ця команда читає конфігурацію з /etc/gitlab/gitlab.rb та застосовує всі параметри. Вона також генерує SSL сертифікати (якщо Let’s Encrypt налаштований), налаштовує схему бази даних та запускає всі необхідні фонові сервіси.

Ви повинні побачити довгий вивід, що закінчується повідомленням, подібним до:

gitlab Reconfigured!

Крок 6: Доступ до GitLab у веб-браузері

Після завершення переналаштування відкрийте веб-браузер та перейдіть на URL, який ви вказали під час встановлення:

https://gitlab.yourdomain.com

або

http://YOUR_SERVER_IP

Перший вхід

При першому відвідуванні GitLab запропонує вам встановити пароль адміністратора. Після його встановлення увійдіть, використовуючи наступні облікові дані:

  • Ім’я користувача: root
  • Пароль: Пароль, який ви щойно створили

> Порада безпеки: Змініть облікові дані облікового запису root за замовчуванням негайно після першого входу. Створіть особистий обліковий запис адміністратора та обмежте обліковий запис root лише для екстреного використання.

Крок 7: Налаштування сповіщень електронної пошти GitLab (необов’язково)

Відправлення сповіщень електронної пошти є важливим для виробничого екземпляра GitLab — це дозволяє функції, такі як перевірка облікового запису, оновлення запитів на злиття, сповіщення CI/CD та скидання пароля. Налаштуйте параметри SMTP у головному файлі конфігурації GitLab:

sudo nano /etc/gitlab/gitlab.rb

Додайте або змініть наступний блок конфігурації SMTP:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Збережіть файл та застосуйте зміни:

sudo gitlab-ctl reconfigure

> Шукаєте надійну інфраструктуру електронної пошти? AlexHost пропонує професійні послуги Email Hosting, які безперебійно інтегруються з самостійно розміщеними додатками, такими як GitLab, забезпечуючи стабільну SMTP трансляцію з високою доставляємістю.

Крок 8: Включення HTTPS з Let’s Encrypt (рекомендується)

Запуск GitLab через HTTPS настійно рекомендується для будь-якого виробничого або командного середовища. GitLab має вбудовану підтримку Let’s Encrypt, безкоштовного та автоматизованого центру сертифікації SSL.

> Важливо: Let’s Encrypt вимагає, щоб ваше доменне ім’я було загально доступним та щоб порт 80 був відкритий на вашому сервері. Це не працюватиме з простими IP-адресами.

Відкрийте файл конфігурації GitLab:

sudo nano /etc/gitlab/gitlab.rb

Додайте наступну конфігурацію:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Збережіть файл та переналаштуйте GitLab:

sudo gitlab-ctl reconfigure

GitLab автоматично отримає та встановить ваш SSL сертифікат, а параметр auto_renew гарантує, що він буде поновлений перед закінченням терміну дії без будь-якого ручного втручання.

> Альтернатива: Якщо ви віддаєте перевагу самостійному управлінню SSL сертифікатами або вам потрібні сертифікати з підстановними знаками/кількома доменами, AlexHost пропонує широкий спектр SSL Certificates, які можна вручну налаштувати в параметрах NGINX GitLab.

Крок 9: Управління сервісами GitLab

GitLab поставляється з власним інструментом управління сервісами під назвою gitlab-ctl. Використовуйте наступні команди для контролю сервісів GitLab:

Запуск GitLab

sudo gitlab-ctl start

Зупинка GitLab

sudo gitlab-ctl stop

Перезапуск GitLab

sudo gitlab-ctl restart

Перевірка статусу сервісу

sudo gitlab-ctl status

Перегляд журналів у реальному часі

sudo gitlab-ctl tail

Перегляд журналів для конкретного сервісу (наприклад, NGINX)

sudo gitlab-ctl tail nginx

Ці команди неоціненні для усунення неполадок та планового обслуговування. Команда status відобразить стан всіх підсервісів GitLab, включаючи PostgreSQL, Redis, Sidekiq, Puma (веб-сервер) та NGINX.

Крок 10: Початкове налаштування GitLab для вашої організації

З встановленим та запущеним GitLab настав час налаштувати його для потреб вашої команди. Ось ключові області для налаштування через веб-інтерфейс GitLab:

Управління користувачами

Перейдіть до Admin Area → Users, щоб створити облікові записи користувачів для членів в

15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати