Поиск по сайту:

Как установить и настроить GitLab в Ubuntu 20.04


GitLab — это инструмент жизненного цикла DevOps с открытым исходным кодом, используемый для размещения репозиториев Git и управления ими. Он написан на Ruby и предлагает множество функций, включая вики, управление проблемами, проверку кода, мониторинг, а также непрерывную интеграцию и развертывание. Вы можете разместить его в своей собственной инфраструктуре и развернуть внутренний репозиторий для своей команды разработчиков. GitLab доступен в трех редакциях: Community Edition (CE), Enterprise Edition (EE) и версия, размещенная на GitLab.

В этом уроке мы покажем вам, как установить GitLab CE на сервер Ubuntu 20.04.

Предварительные условия

  • Сервер под управлением Ubuntu 20.04.
  • Действующее доменное имя, указанное на вашем VPS.
  • На вашем сервере установлен пароль root.

Начиная

Сначала вам необходимо обновить системные пакеты до последней версии. Вы можете обновить их с помощью следующей команды:

apt-get update -y
apt-get upgrade -y

После обновления вашей системы установите другие необходимые пакеты с помощью следующей команды:

apt-get install apt-transport-https gnupg2 curl -y

После установки всех необходимых пакетов можно переходить к следующему шагу.

Установите GitLab CE.

По умолчанию GitLab недоступен в репозитории Ubuntu 20.04 по умолчанию. Поэтому вам нужно будет добавить официальный репозиторий GitLab в вашу систему.

Сначала загрузите и добавьте ключ GitLab GPG с помощью следующей команды:

curl -sL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | apt-key add -

Затем добавьте репозиторий GitLab в APT с помощью следующей команды:

nano /etc/apt/sources.list.d/gitlab.list

Добавьте следующие строки:

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main

Сохраните и закройте файл, когда закончите. Затем обновите репозиторий и установите GitLab CE с помощью следующей команды:

apt-get update -y
apt-get install gitlab-ce -y

После успешной установки GitLab вы должны получить следующий результат:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

На данный момент GitLab установлен в вашей системе. Теперь вы можете перейти к следующему шагу.

Настроить GitLab

Далее вам нужно будет определить URL-адрес GitLab. Вы можете определить его внутри файла /etc/gitlab/gitlab.rb.

nano /etc/gitlab/gitlab.rb

Измените следующую строку, указав свое действительное имя хоста или имя домена:

external_url 'http://gitlab.linuxbuz.com'

Сохраните и закройте файл. Затем перенастройте GitLab, выполнив следующую команду:

gitlab-ctl reconfigure

После успешной настройки GitLab вы должны получить следующий результат:

Recipe: gitlab::puma
  * runit_service[puma] action restart (up to date)
  * runit_service[puma] action restart (up to date)
Recipe: gitlab::sidekiq-cluster
  * runit_service[sidekiq] action restart (up to date)
Recipe: gitlab::gitlab-rails
  * execute[clear the gitlab-rails cache] action run
    - execute /opt/gitlab/bin/gitlab-rake cache:clear
Recipe: nginx::enable
  * runit_service[nginx] action restart (up to date)
Recipe: monitoring::grafana
  * runit_service[grafana] action restart (up to date)

Running handlers:
Running handlers complete
Chef Client finished, 12/767 resources updated in 01 minutes 20 seconds
gitlab Reconfigured!

Теперь вы можете проверить статус GitLab с помощью следующей команды:

gitlab-ctl status

Вы должны получить следующий вывод:

down: alertmanager: 1s, normally up, want up; run: log: (pid 12973) 142s
run: gitaly: (pid 14216) 17s; run: log: (pid 12352) 286s
run: gitlab-exporter: (pid 14165) 19s; run: log: (pid 12885) 161s
run: gitlab-workhorse: (pid 14152) 19s; run: log: (pid 12767) 185s
run: grafana: (pid 14252) 15s; run: log: (pid 13855) 54s
run: logrotate: (pid 12818) 174s; run: log: (pid 12826) 173s
run: nginx: (pid 12798) 180s; run: log: (pid 12807) 179s
run: node-exporter: (pid 14160) 19s; run: log: (pid 12867) 167s
run: postgres-exporter: (pid 14246) 15s; run: log: (pid 13082) 130s
run: postgresql: (pid 12515) 280s; run: log: (pid 12532) 277s
run: prometheus: (pid 14183) 18s; run: log: (pid 12931) 149s
run: puma: (pid 12718) 199s; run: log: (pid 12727) 196s
run: redis: (pid 12309) 293s; run: log: (pid 12318) 292s
run: redis-exporter: (pid 14176) 18s; run: log: (pid 12908) 154s
run: sidekiq: (pid 12737) 193s; run: log: (pid 12749) 190s

Защитите GitLab с помощью Let’s Encrypt

На этом этапе GitLab установлен и настроен. Далее рекомендуется защитить ваш экземпляр GitLab с помощью Let's Encrypt SSL.

Сначала установите клиентский инструмент Let's Encrypt с помощью следующей команды:

apt-get install letsencrypt -y

После установки отредактируйте файл /etc/gitlab/gitlab.rb и включите Let's Encrypt.

nano /etc/gitlab/gitlab.rb

Измените следующие строки:

external_url 'https://gitlab.linuxbuz.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email ']
letsencrypt['auto_renew'] = true

Сохраните и закройте файл, когда закончите. Затем перенастройте GitLab с помощью следующей команды:

gitlab-ctl reconfigure

Как только вы закончите. Вы можете перейти к следующему шагу.

Доступ к интерфейсу GitLab

На данный момент GitLab защищен бесплатным SSL Let's Encrypt. Теперь откройте веб-браузер и введите URL-адрес https://gitlab.linuxbuz.com. Вы будете перенаправлены на следующую страницу:

Теперь установите новый пароль и нажмите кнопку Изменить ваш пароль. Вы должны увидеть следующий экран:

Теперь укажите свое имя пользователя и пароль root, а затем нажмите кнопку Войти в. Вы должны увидеть следующий экран:

Отключить публичную регистрацию

По умолчанию GitLab позволяет любому зарегистрировать учетную запись, используя URL-адрес GitLab. Эти настройки полезны, если вы хотите разместить публичный проект. Однако, если вы хотите использовать GitLab для своего внутреннего проекта, рекомендуется отключить публичную регистрацию.

На панели управления GitLab щелкните значок области администратора. Вы должны увидеть следующий экран:

Теперь нажмите Настройки на левой панели. Вы должны увидеть следующий экран:

Затем прокрутите вниз до раздела «Ограничения регистрации» и нажмите кнопку «Развернуть». Снимите флажок «Регистрация включена» и нажмите «Сохранить изменения», когда закончите.

Теперь выйдите из GitLab и снова войдите в GitLab. Вы должны увидеть следующий экран с отключенной публичной регистрацией:

Проверьте функциональность GitLab

На этом этапе GitLab установлен и настроен. Затем создайте новый проект на панели инструментов GitLab.

На панели управления GitLab нажмите кнопку проекта. Вы должны увидеть следующий экран:

Теперь нажмите кнопку Создать a проект. Вы должны увидеть следующий экран:

Укажите название своего проекта, URL-адрес, описание, уровень видимости и нажмите кнопку Создать проект. Вы должны увидеть следующий экран:

Затем перейдите в удаленную систему и настройте Git с помощью следующей команды:

git config --global user.name "Hitesh Jethva"
git config --global user.email "[email "

Затем клонируйте репозиторий вашего проекта с помощью следующей команды:

git clone https://gitlab.linuxbuz.com/root/project1.git

Вам будет предложено указать имя пользователя и пароль GitLab, как показано ниже:

Cloning into 'project1'...
Username for 'https://gitlab.linuxbuz.com': root
Password for 'https://[email ': 
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

Затем измените каталог вашего проекта и создайте файл README.md:

cd project1
echo "This is my first file" > README.md

Затем добавьте файл README.md в свой репозиторий и зафиксируйте изменения с помощью следующей команды:

git add README.md
git commit -m "add README"

Вы должны увидеть следующий вывод:

[master (root-commit) ae4d108] add README
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

Затем отправьте файл в удаленный репозиторий с помощью следующей команды:

git push -u origin master

Укажите свое имя пользователя и пароль GitLab, чтобы отправить файл в удаленный репозиторий:

Username for 'https://gitlab.linuxbuz.com': root
Password for 'https://[email ': 
Counting objects: 3, done.
Writing objects: 100% (3/3), 237 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://gitlab.linuxbuz.com/root/project1.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

Теперь откройте панель управления GitLab и нажмите кнопку проект. Вы должны увидеть файл README.md на следующем экране:

Заключение

В приведенном выше руководстве вы узнали, как установить GitLab и защитить его с помощью Let's Encrypt SSL в Ubuntu 20.04. Вы также узнали, как выполнять основные операции Git с помощью GitLab. Надеюсь, теперь вы сможете развернуть GitLab в своей среде разработки. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Статьи по данной тематике: