GitLab орнату және баптау
GitLab — бағдарламалық қамтамасыз етуді әзірлеу жобаларында бірлесіп жұмыс істеуге арналған құрал. Ол Git репозиторийлерін сақтауды және басқаруды, сондай-ақ бағдарламалық код нұсқаларын бақылауды қамтамасыз етеді. GitLab CI/CD процестерін автоматтандырады: БҚ құрастыруды, тестілеуді және өрістетуді. GitLab-та CI/CD тапсырмаларын іске қосу және автоматты орындау үшін GitLab Runner қолданбасы пайдаланылады.
Төменде Ubuntu 22.04 ОЖ-сы бар виртуалды машинаға GitLab және GitLab Runner тегін нұсқаларын орнату мысалы көрсетілген. Орнату құралы ретінде Docker контейнерлеу платформасы және оның Docker Compose плагині пайдаланылады.
-
Тіркеліңіз VK Cloud жүйесінде.
-
Интернетке қолжетімділігі және
10.0.0.0/24ішкі желісі барnetwork1желісін құрыңыз. -
gitlabқауіпсіздік тобын құрыңыз және оған келесі порттар үшін кіріс трафигіне рұқсаттарды қосыңыз:80(HTTP),443(HTTPS),22(SSH),35242(SSH).
35242орнына операциялық жүйеде резервтелмеген кез келген портты пайдалануға болады. -
Ubuntu операциялық жүйесі бар ВМ жасаңыз.
ВМ параметрлерін таңдағанда, GitLab және GitLab Runner орнатуға қажетті аппараттық талаптарды ескеріңіз.
Мысал ретінде келесі ВМ конфигурациясы пайдаланылады:
- атауы:
OA-Ubuntu-docker; - операциялық жүйе: Ubuntu 22.04;
- желі:
10.0.0.0/24ішкі желісі барnetwork1; - конфигурация үлгісі:
STD2-4-12; - желілік HDD-диск: 50 ГБ;
- жария IP мекенжайы: тағайындалған, әрі қарай
185.185.185.185пайдаланылады; - қауіпсіздік топтары:
default,gitlab.
- атауы:
-
(Қосымша) GitLab-қа қол жеткізу үшін пайдаланылатын домендік атауды виртуалды машинаға келесі тәсілдердің бірімен тағайындаңыз:
- Егер сізде домен болса, оған өз ВМ-іңізді қосыңыз.
- Егер домен болмаса, мысалы, динамикалық DNS ұсынатын сервистердің бірі NoIP сервисін пайдаланыңыз. Ол үшін ВМ-ге динамикалық жаңарту клиентін орнатыңыз, толығырақ NoIP сервисінің құжаттамасында.
-
OA-Ubuntu-dockerВМ-ге SSH арқылы қосылыңыз. -
Операциялық жүйе брандмауэрінің күйін тексеріп, егер ол белсенді болса, өшіріңіз:
sudo ufw statussudo ufw disable -
Docker Compose плагинін орнатыңыз:
-
Ubuntu-дағы қолжетімді пакеттер мен олардың нұсқаларының тізімін жаңартыңыз:
sudo apt-get update -
Docker Compose плагинінің соңғы нұсқасын орнатыңыз:
sudo apt-get install docker-compose-plugin -
Нұсқасын сұрау арқылы плагиннің дұрыс орнатылғанына көз жеткізіңіз:
docker compose versionКүтілетін нәтиже:
Docker Compose version vN.N.NМұнда
N.N.N— плагин нұсқасының нөмірі.
-
GitLab SSH арқылы қол жеткізу үшін әдепкі бойынша ВМ-ге SSH арқылы қосылуға жүйеде резервтелген 22 портын пайдаланады. Қақтығыс туындамауы үшін жүйелік SSH портын басқа портқа өзгертіңіз.
-
/etc/ssh/sshd_configфайлын өңдеу үшін ашыңыз:sudo nano /etc/ssh/sshd_config -
#Port 22жолынPort 35242жолына ауыстырыңыз. -
Файлды сақтап, CTRL+O, содан кейін CTRL+X пернелерін басып, редактормен жұмысты аяқтаңыз.
-
sshdсервисін қайта іске қосыңыз:sudo systemctl restart sshd -
ВМ-ге ағымдағы қосылу сеансын жабыңыз:
exit -
OA-Ubuntu-dockerВМ-ге жаңа портты пайдаланып SSH арқылы қосылыңыз:ssh -i <путь к ключу> ubuntu@185.185.185.185 -p 35242185.185.185.185орнына, егер бар болса, ВМ-нің толық домендік атауын пайдалануға болады.
-
Командаларды ретімен орындап, GitLab үшін тұрақты сақтау директорияларын жасаңыз:
sudo mkdir -p /opt/gitlabsudo mkdir -p /opt/gitlab/configsudo mkdir -p /opt/gitlab/logssudo mkdir -p /opt/gitlab/datasudo mkdir -p /opt/gitlab-runnersudo mkdir -p /opt/gitlab-runner/configsudo mkdir -p /opt/gitlab-runner/data -
Docker Compose үшін конфигурация файлын жасап, өңдеу үшін ашыңыз:
sudo nano docker-compose.yml -
Редактор терезесіне келесі мазмұнды көшіріңіз, мұнда
185.185.185.185мәнін ВМ-нің сыртқы IP мекенжайына немесе оның толық домендік атауына ауыстырыңыз: -
Файлды сақтап, CTRL+O, содан кейін CTRL+X пернелерін басып, редактормен жұмысты аяқтаңыз.
-
Docker Compose іске қосыңыз:
sudo docker compose up -d
Келесі команданы орындаңыз:
sudo docker ps
Сәтті орындалғандағы шығыс:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1e6cee4fe37a gitlab/gitlab-ce:latest "/assets/wrapper" 4 minutes ago Up 9 seconds (health: starting) 0.0.0.0:22->22/tcp, :::22->22/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp gitlab882fc3fb80f5 gitlab/gitlab-runner:latest "/usr/bin/dumb-init …" 4 minutes ago Up 4 minutes gitlab-runner
Егер GitLab орнатылған ВМ-де домендік атау болса, GitLab үшін, мысалы, Let’s Encrypt компаниясынан жалпыға қолжетімді SSL сертификатын шығара аласыз. Толығырақ GitLab ресми құжаттамасында.
-
GitLab әкімшісінің автоматты түрде жасалған құпиясөзін алып, көшіріңіз:
sudo cat /opt/gitlab/config/initial_root_passwordСәтті орындалғандағы шығыс:
# WARNING: This value is valid only in the following conditions# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).# 2. Password hasn't been changed manually, either via UI or via command line.## If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.Password: /XR7tRH_ХХХХ=# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours. -
Браузерде
https://185.185.185.185мекенжайына өтіңіз.185.185.185.185орнына, егер бар болса, ВМ-нің толық домендік атауын пайдалануға болады.GitLab-қа кіру авторизациясының беті ашылады.
-
Кіру үшін әкімші логинін (
root) және көшірілген құпиясөзді пайдаланыңыз.GitLab басқару панелі ашылады. Орнату аяқталды, GitLab жұмысқа дайын.
Өрістетілген виртуалды ресурстар тарификацияланады. Егер олар сізге енді қажет болмаса: