VK Cloud logo

GitLab орнату және баптау

GitLab — бағдарламалық қамтамасыз етуді әзірлеу жобаларында бірлесіп жұмыс істеуге арналған құрал. Ол Git репозиторийлерін сақтауды және басқаруды, сондай-ақ бағдарламалық код нұсқаларын бақылауды қамтамасыз етеді. GitLab CI/CD процестерін автоматтандырады: БҚ құрастыруды, тестілеуді және өрістетуді. GitLab-та CI/CD тапсырмаларын іске қосу және автоматты орындау үшін GitLab Runner қолданбасы пайдаланылады.

Төменде Ubuntu 22.04 ОЖ-сы бар виртуалды машинаға GitLab және GitLab Runner тегін нұсқаларын орнату мысалы көрсетілген. Орнату құралы ретінде Docker контейнерлеу платформасы және оның Docker Compose плагині пайдаланылады.

Дайындық қадамдары

  1. Тіркеліңіз VK Cloud жүйесінде.

  2. Интернетке қолжетімділігі және 10.0.0.0/24 ішкі желісі бар network1 желісін құрыңыз.

  3. gitlab қауіпсіздік тобын құрыңыз және оған келесі порттар үшін кіріс трафигіне рұқсаттарды қосыңыз:

    • 80 (HTTP),
    • 443 (HTTPS),
    • 22 (SSH),
    • 35242 (SSH).

    35242 орнына операциялық жүйеде резервтелмеген кез келген портты пайдалануға болады.

  4. 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.
  5. (Қосымша) GitLab-қа қол жеткізу үшін пайдаланылатын домендік атауды виртуалды машинаға келесі тәсілдердің бірімен тағайындаңыз:

    • Егер сізде домен болса, оған өз ВМ-іңізді қосыңыз.
    • Егер домен болмаса, мысалы, динамикалық DNS ұсынатын сервистердің бірі NoIP сервисін пайдаланыңыз. Ол үшін ВМ-ге динамикалық жаңарту клиентін орнатыңыз, толығырақ NoIP сервисінің құжаттамасында.
  6. OA-Ubuntu-docker ВМ-ге SSH арқылы қосылыңыз.

  7. Операциялық жүйе брандмауэрінің күйін тексеріп, егер ол белсенді болса, өшіріңіз:

    sudo ufw statussudo ufw disable
  8. Docker орнатып, баптаңыз.

  9. Docker Compose плагинін орнатыңыз:

    1. Ubuntu-дағы қолжетімді пакеттер мен олардың нұсқаларының тізімін жаңартыңыз:

      sudo apt-get update
    2. Docker Compose плагинінің соңғы нұсқасын орнатыңыз:

      sudo apt-get install docker-compose-plugin
    3. Нұсқасын сұрау арқылы плагиннің дұрыс орнатылғанына көз жеткізіңіз:

      docker compose version

      Күтілетін нәтиже:

      Docker Compose version vN.N.N

      Мұнда N.N.N — плагин нұсқасының нөмірі.

1. ВМ-ге SSH арқылы қосылу портын өзгертіңіз

GitLab SSH арқылы қол жеткізу үшін әдепкі бойынша ВМ-ге SSH арқылы қосылуға жүйеде резервтелген 22 портын пайдаланады. Қақтығыс туындамауы үшін жүйелік SSH портын басқа портқа өзгертіңіз.

  1. /etc/ssh/sshd_config файлын өңдеу үшін ашыңыз:

    sudo nano /etc/ssh/sshd_config
  2. #Port 22 жолын Port 35242 жолына ауыстырыңыз.

  3. Файлды сақтап, CTRL+O, содан кейін CTRL+X пернелерін басып, редактормен жұмысты аяқтаңыз.

  4. sshd сервисін қайта іске қосыңыз:

    sudo systemctl restart sshd
  5. ВМ-ге ағымдағы қосылу сеансын жабыңыз:

    exit
  6. OA-Ubuntu-docker ВМ-ге жаңа портты пайдаланып SSH арқылы қосылыңыз:

    ssh -i <путь к ключу> ubuntu@185.185.185.185 -p 35242

    185.185.185.185 орнына, егер бар болса, ВМ-нің толық домендік атауын пайдалануға болады.

2. Docker Compose көмегімен GitLab және GitLab Runner орнатыңыз

  1. Командаларды ретімен орындап, 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
  2. Docker Compose үшін конфигурация файлын жасап, өңдеу үшін ашыңыз:

    sudo nano docker-compose.yml
  3. Редактор терезесіне келесі мазмұнды көшіріңіз, мұнда 185.185.185.185 мәнін ВМ-нің сыртқы IP мекенжайына немесе оның толық домендік атауына ауыстырыңыз:

  4. Файлды сақтап, CTRL+O, содан кейін CTRL+X пернелерін басып, редактормен жұмысты аяқтаңыз.

  5. Docker Compose іске қосыңыз:

    sudo docker compose up -d

3. GitLab контейнерінің күйін тексеріңіз

Келесі команданы орындаңыз:

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

4. (Қосымша) ВМ үшін жалпыға қолжетімді SSL сертификатын шығарыңыз

Егер GitLab орнатылған ВМ-де домендік атау болса, GitLab үшін, мысалы, Let’s Encrypt компаниясынан жалпыға қолжетімді SSL сертификатын шығара аласыз. Толығырақ GitLab ресми құжаттамасында.

5. GitLab жұмысқа қабілеттілігін тексеріңіз

  1. 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.
  2. Браузерде https://185.185.185.185 мекенжайына өтіңіз.

    185.185.185.185 орнына, егер бар болса, ВМ-нің толық домендік атауын пайдалануға болады.

    GitLab-қа кіру авторизациясының беті ашылады.

  3. Кіру үшін әкімші логинін (root) және көшірілген құпиясөзді пайдаланыңыз.

    GitLab басқару панелі ашылады. Орнату аяқталды, GitLab жұмысқа дайын.

Пайдаланылмайтын ресурстарды жойыңыз

Өрістетілген виртуалды ресурстар тарификацияланады. Егер олар сізге енді қажет болмаса: