Как да инсталирате 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 reconfigureGitLab автоматично ще получи и инсталира вашия 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 и
