Введение
GitLab — это бесплатное программное обеспечение DevOps с открытым исходным кодом, которое поставляется с несколькими инструментами для разработки, защиты и использования программного обеспечения в одном приложении. Предоставляет бесплатные неограниченные репозитории и неограниченное количество участников. Он в основном используется для размещения репозиториев Git с дополнительными функциями, связанными с разработкой, такими как обнаружение проблем. Он очень похож на Github и Bitbucket и позволяет отдельным лицам и командам удаленно делиться кодом с другими.
GitLab доступен в четырех основных редакциях:
- GitLab Community Edition: бесплатно, с открытым исходным кодом и на собственном хостинге.
- GitLab Enterprise Edition: размещается самостоятельно и оплачивается с дополнительными функциями.
- GitLab.com: бесплатный и SaaS.
- GitLab.io: частный экземпляр GitLab, управляемый GitLab Inc.
В этом посте мы объясним, как установить GitLab CE на Alma Linux 8.
Предпосылки
- Сервер под управлением Alma Linux 8.
- Действительное доменное имя указывало на IP-адрес вашего сервера.
- Пароль root настроен на сервере.
Если вы хотите установить GitLab на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Добавьте репозиторий GitLab CE
По умолчанию пакет GitLab не включен в стандартный репозиторий Alma Linux. Затем вам нужно будет добавить официальный репозиторий GitLab в вашу систему. Вы можете загрузить и добавить следующий скрипт, чтобы добавить репозиторий GitLab.
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
Вы получите следующий вывод:
Complete!
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid: "GitLab BV (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From: https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid: "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From: https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
Вы можете проверить установленный репозиторий с помощью следующей команды:
cat /etc/yum.repos.d/gitlab_gitlab-ce.repo
Вы получите следующий вывод:
[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
Вы также можете просмотреть репозиторий GitLab, используя следующую команду:
dnf repolist
Вы получите следующий вывод:
repo id repo name
appstream Rocky Linux 8 - AppStream
baseos Rocky Linux 8 - BaseOS
extras Rocky Linux 8 - Extras
gitlab_gitlab-ce gitlab_gitlab-ce
gitlab_gitlab-ce-source gitlab_gitlab-ce-source
Установите GitLab CE на Alma Linux 8
На этом этапе в вашей системе создается репозиторий GitLab. Теперь вы можете установить GitLab CE, выполнив следующую команду:
dnf install gitlab-ce -y
После установки GitLab CE вы получите следующий вывод:
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****.****** *******
******** ********,,,,,,,,,***********,,,,,,,,,,,,,,,,,,,,*********,,,,,,,,,,,.,,,,,,,,,,,*******,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,.,,,,,,,****,,,,,,.,,,***,,,,,*,.
_______ __ __ __
/____(_) /_//____ _//_
//__//__///__ `/__ \
//_////_//___//_///_//\____/_/\__/_____/\__,_/_.___/Please configure a URL for your GitLab instance by setting `external_url`
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
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
Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-8
Verifying: gitlab-ce-14.8.2-ce.0.el8.x86_64 1/1
Installed:
gitlab-ce-14.8.2-ce.0.el8.x86_64
Complete!
Настроить GitLabCE
Далее вам нужно будет определить ваше доменное имя в файле конфигурации GitLab. Для этого отредактируйте файл конфигурации GitLab:
nano /etc/gitlab/gitlab.rb
Измените следующую строку на ваше доменное имя:
external_url 'http://gitlab.example.com'
Сохраните и закройте файл, затем перенастройте GitLab с помощью следующей команды:
gitlab-ctl reconfigure
После перенастройки GitLab CE вы получите следующий вывод:
Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.
NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
gitlab Reconfigured!
Теперь вы можете проверить статус GitLab CE с помощью следующей команды:
gitlab-ctl status
Вы получите следующий вывод:
run: gitaly: (pid 26684) 69s; run: log: (pid 25075) 351s
run: gitlab-exporter: (pid 26617) 73s; run: log: (pid 25555) 207s
run: gitlab-kas: (pid 26585) 75s; run: log: (pid 25339) 334s
run: gitlab-workhorse: (pid 26595) 74s; run: log: (pid 25472) 229s
run: grafana: (pid 26665) 70s; run: log: (pid 26315) 110s
run: logrotate: (pid 25000) 364s; run: log: (pid 25008) 363s
run: nginx: (pid 25488) 226s; run: log: (pid 25499) 222s
run: node-exporter: (pid 26603) 74s; run: log: (pid 25541) 213s
run: postgres-exporter: (pid 26659) 70s; run: log: (pid 25891) 168s
run: postgresql: (pid 25207) 341s; run: log: (pid 25218) 340s
run: prometheus: (pid 26631) 72s; run: log: (pid 25629) 194s
run: puma: (pid 25406) 249s; run: log: (pid 25417) 246s
run: redis: (pid 25039) 358s; run: log: (pid 25047) 357s
run: redis-exporter: (pid 26620) 73s; run: log: (pid 25575) 201s
run: sidekiq: (pid 25423) 243s; run: log: (pid 25435) 239s
Чтобы остановить GitLab, выполните следующую команду:
gitlab-ctl stop
Чтобы запустить GitLab, выполните следующую команду:
gitlab-ctl start
После этого вы можете перейти к следующему шагу.
Настроить брандмауэр
Затем вам нужно будет разрешить службу HTTP через файл firewalld. Вы можете разрешить это с помощью следующей команды:
firewall-cmd --permanent --add-service=http
Затем перезагрузите демон firewalld, чтобы применить изменения:
systemctl reload firewalld
После настройки брандмауэра можно переходить к следующему шагу.
Войдите в GitLabCE
Прежде чем войти в GitLab CE, восстановите пароль root GitLab с помощью следующей команды:
cat /etc/gitlab/initial_root_password
Вы должны увидеть корневой пароль GitLab CE в следующем выводе:
# 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: XIlQ4/J7oQ49ZdNuGZto3f5vEJGHZJSTRSIuYL9z0/k=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
Теперь откройте веб-браузер и войдите в веб-интерфейс GitLab, используя URL-адрес http://gitlab.example.com. Вы будете перенаправлены на страницу входа в GitLab.
Укажите свое имя пользователя и пароль root и нажмите кнопку « Войти ». Вы должны увидеть веб-интерфейс GitLab.
Настроить резервное копирование GitLab
GitLab также позволяет создавать резервную копию экземпляра GitLab. Чтобы создать резервную копию экземпляра GitLab, выполните следующую команду:
gitlab-rake gitlab:backup:create
После создания резервной копии вы получите следующий вывод:
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping uploads...
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping builds...
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping artifacts...
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping pages...
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping lfs objects...
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping terraform states...
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping container registry images...
2022-03-11 11:13:11 +0000 -- [DISABLED]
2022-03-11 11:13:11 +0000 -- Dumping packages...
2022-03-11 11:13:11 +0000 -- done
Creating backup archive: 1646997191_2022_03_11_14.8.2_gitlab_backup.tar... done
Uploading backup archive to remote storage... skipped
Deleting tmp directories... done
По умолчанию бэкап GitLab хранится в /var/opt/gitlab/backups. Вы можете изменить путь резервного копирования, изменив настройки в файле конфигурации GitLab в /etc/gitlab/gitlab.rb.
Вы можете проверить сгенерированную резервную копию, используя следующую команду:
ls /var/opt/gitlab/backups
Вы получите следующий вывод:
1646997191_2022_03_11_14.8.2_gitlab_backup.tar
Сбросить корневой пароль GitLab
Если вы забыли свой пароль администратора GitLab, вы можете легко сбросить его с помощью следующей команды:
gitlab-rake "gitlab:password:reset"
Вам будет предложено установить новый пароль, как показано ниже:
gitlab-rake "gitlab:password:reset"
Вывод
Поздравляем! вы успешно установили GitLab CE на Alma Linux 8. Теперь вы можете начать использовать GitLab в своей среде разработки.