15%

Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄:

Skills
ΠΠ°Ρ‡Π°Ρ‚ΡŒ
31.10.2024

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ GitLab Π½Π° Ubuntu

GitLab – это мощная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° DevOps с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая обСспСчиваСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ/Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΡƒΡŽ доставку (CI/CD) ΠΈ инструмСнты для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹. Установив GitLab Π½Π° Ubuntu, Π²Ρ‹ смоТСтС эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ GitLab Π½Π° сСрвСр Ubuntu

1. ОбновлСниС систСмных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ установки ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваши систСмныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹

sudo apt update && sudo apt upgrade -y

2. Установка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… зависимостСй

Для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ GitLab Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. УстановитС ΠΈΡ…, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

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

3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GitLab

GitLab ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс установки. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, сначала Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скрипт GitLab

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

Π­Ρ‚ΠΎΡ‚ скрипт устанавливаСт Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ GitLab нСпосрСдствСнно ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ источника ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

4. УстановитС GitLab

Π’Π΅ΠΏΠ΅Ρ€ΡŒ установитС GitLab Community Edition (CE). Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ https://gitlab.example.com Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ URL для доступа ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ экзСмпляру GitLab

sudo EXTERNAL_URL=”https://gitlab.example.com” apt install gitlab-ce

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° устанавливаСт GitLab ΠΈ настраиваСт Π΅Π³ΠΎ Π½Π° использованиС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ внСшнСго URL. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ вмСсто Π½Π΅Π³ΠΎ IP-адрСс вашСго сСрвСра

5. Настройка GitLab

ПослС установки настройтС GitLab с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

sudo gitlab-ctl reconfigure

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сконфигурируСт GitLab с настройками ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ создаст всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ слуТбы

6. Доступ ΠΊ GitLab Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€

ПослС установки ΠΈ настройки GitLab Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½Π΅ΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ URL (https://gitlab.example.com ΠΈΠ»ΠΈ IP-адрСс вашСго сСрвСра). ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ Π² GitLab Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ администратора. ПослС установки пароля Π²Ρ‹ смоТСтС Π²ΠΎΠΉΡ‚ΠΈ Π² систСму

  • Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: root
  • ΠŸΠ°Ρ€ΠΎΠ»ΡŒ: (ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ установили)

7. Настройка ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ GitLab ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ GitLab отправлял увСдомлСния ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, настройтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ GitLab, располоТСнном ΠΏΠΎ адрСсу /etc/gitlab/gitlab.rb. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹

gitlab_rails[‘smtp_enable’] = true gitlab_rails[‘smtp_address’] = “smtp.yourmailprovider.com” gitlab_rails[‘smtp_port’] = 587 gitlab_rails[‘smtp_user_name’] = “your_email@example.com” gitlab_rails[‘smtp_password’] = “your_email_password” gitlab_rails[‘smtp_domain’] = “example.com” gitlab_rails[‘smtp_authentication’] = “login” gitlab_rails[‘smtp_enable_starttls_auto’] = true

ПослС измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° пСрСнастройтС GitLab, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния

sudo gitlab-ctl reconfigure

8. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ слуТбами GitLab

GitLab прСдоставляСт нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ для управлСния своими слуТбами

  • ЗапуститС GitLab
    sudo gitlab-ctl start
  • ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ GitLab
    sudo gitlab-ctl stop
  • ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ GitLab
    sudo gitlab-ctl restart
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния GitLab
    sudo gitlab-ctl status

9. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ HTTPS (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)

Для бСзопасного доступа рСкомСндуСтся Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ HTTPS. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Let’s Encrypt, бСсплатного поставщика SSL-сСртификатов, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Ρ„Π°ΠΉΠ» /etc/gitlab/gitlab.rb. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ

letsencrypt[‘enable’] = true letsencrypt[‘contact_emails’] = [‘you@example.com’] letsencrypt[‘auto_renew’] = true

ПослС сохранСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

sudo gitlab-ctl reconfigure

Π­Ρ‚Π° конфигурация Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ HTTPS с автоматичСским ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ для вашСго SSL-сСртификата

10. Базовая настройка GitLab

ПослС установки настройтС GitLab для вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, создав Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ CI/CD, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. GitLab ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный Π²Π΅Π±-интСрфСйс для управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, создания Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΈ установки ΠΏΡ€Π°Π² доступа

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Установка GitLab Π½Π° Ubuntu Π½Π΅ прСдставляСт собой Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного ΠΈ обСспСчиваСт ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для DevOps, контроля вСрсий ΠΈ управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Установив GitLab, Π²Ρ‹ смоТСтС Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ GitLab для управлСния ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ CI/CD.

15%

Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄:

Skills
ΠΠ°Ρ‡Π°Ρ‚ΡŒ