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 отворени във вашия firewall

> Съвет: За най-добра производителност на 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 сертификатите независимо или имате нужда от wildcard/мултидоменни сертификати, AlexHost предлага набор от SSL сертификати, които могат да бъдат ръчно конфигурирани в настройките на 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, за да създадете потребителски акаунти за членовете на вашия екип. Можете да конфигурирате методи на удостоверяване, включително LDAP, OAuth и

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало