моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Оглавление
1. Командная строка Gitlab для изменения пароля администратора
2. Управление сервисами Gitlab
3. Процесс подачи кода разработки компании
4. Резервное копирование и восстановление Gitlab
Тестовое восстановление данных
5. Настройка электронной почты
- [root@tty01 ~]# gitlab-rails console -e production # 启动GitLab的Rails控制台
- --------------------------------------------------------------------------------
- Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
- GitLab: 16.11.5-jh (3a067aedcc3) EE
- GitLab Shell: 14.35.0
- PostgreSQL: 14.11
- ------------------------------------------------------------[ booted in 50.69s ]
- Loading production environment (Rails 7.0.8.1)
- irb(main):001:0> user = User.where(id: 1).first # id为1的是超级管理员
- => #<User id:1 @root>
- irb(main):002:0> user.password = 'Qq111111' # 密码必须至少8个字符
- => "Qq111111"
- irb(main):003:0> user.save! # 如没有问题 返回true
- => true
- irb(main):004:0> exit # 退出
- gitlab-ctl start # 启动所有 gitlab 组件;
- gitlab-ctl stop # 停止所有 gitlab 组件;
- gitlab-ctl restart # 重启所有 gitlab 组件;
- gitlab-ctl status # 查看服务状态;
- gitlab-ctl reconfigure # 启动服务;
- vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
- gitlab-ctl tail # 查看日志;
Менеджеры проектов (PM) создают задачи в GitLab и назначают их разработчикам.:
После того, как разработчик получает задание, он локально использует git clone для извлечения библиотеки кода.:
git clone <仓库地址>
Разработчики создают ветки разработки и развивают:
dev
: git checkout -b dev
dev
Разработка и модификация кода выполняются на ветке.После того как разработчик завершает разработку, он отправляет ее на местный склад.:
git add . git commit -m "完成任务描述"
Разработчики подают заявку на мерж-реквест ветки (Merge request) в интерфейсе GitLab.:
git push origin dev
master
илиmain
)。Менеджер проекта проверяет отправленные материалы и изменения кода на GitLab. Убедившись в их правильности, подтвердите, что ветка разработчика будет объединена с основной веткой.:
dev
Филиал объединен вmaster
ветвь.Разработчик подтверждает, что разработка завершена Марком на GitLab, и закрывает проблему.:
close #1
(в#1
— это номер задачи), поэтому при объединении запроса на слияние соответствующая задача будет автоматически закрыта.
Проверьте версию системы и версию программного обеспечения
- [root@tty01 ~]# cat /etc/redhat-release
- Rocky Linux release 9.4 (Blue Onyx)
- [root@tty01 ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 16.11.5-jh
Откройте файл конфигурации /etc/gitlab/gitlab.rb и просмотрите элемент конфигурации, связанный с резервным копированием:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
- gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
- gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径
Этот элемент определяет путь к файлу резервной копии по умолчанию. Вы можете изменить конфигурацию и выполнить. переконфигурировать gitlab-ctl или перезапустить gitlab-ctl Перезапустите службу, чтобы изменения вступили в силу.
- [root@tty01 ~]# gitlab-ctl reconfigure
- 或
- [root@tty01 ~]# gitlab-ctl restart
Выполните команду резервного копирования для резервного копирования
[root@tty01 ~]# gitlab-rake gitlab:backup:create
После выполнения команды появится предупреждающее сообщение:gitlab.rb
иgitlab-secrets.json
Файл содержит конфиденциальные данные и не включен в эту резервную копию. При восстановлении из резервной копии эти файлы необходимо скопировать вручную.
Конечно, это также можно делать в сочетании с запланированными задачами.
Проверьте, нормально ли существуют файлы в каталоге резервных копий.
- [root@tty01 ~]# ls /var/opt/gitlab/backups/
- 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar
Установите время хранения резервной копии, чтобы предотвратить ежедневное выполнение резервного копирования. Определенно существует риск переполнения каталога. Откройте файл конфигурации /etc/gitlab/gitlab.rb и найдите следующую конфигурацию:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
- gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天
Настроенное время указано в секундах. Если вы хотите увеличить или уменьшить его, вы можете настроить его прямо здесь и перезапустить службу через gitlab-ctl restart, чтобы изменения вступили в силу.
После завершения резервного копирования в каталоге резервной копии будет создан пакет tar с сегодняшней датой.
Войдите в систему как администратор и удалите элементы библиотеки.
Перед восстановлением необходимо остановить службу подключения к данным:
- [root@tty01 ~]# gitlab-ctl stop unicorn
- [root@tty01 ~]# gitlab-ctl stop sidekiq
Если это хост, созданный Taishin, обычно нет необходимости останавливать операцию подключения к данным. Теоретически остановить эти две службы можно. Остановка этих двух служб необходима для обеспечения согласованности данных. Обычно файлы резервных копий из каталога /data/gitlab/backups старого сервера копируются в /data/gitlab/backups на новом сервере для восстановления. Здесь на этом компьютере восстанавливается экспериментальная среда.
Примечание. Разрешения: 600 разрешений невозможно восстановить. Экспериментальную среду можно изменить на 777. Для производственной среды рекомендуется изменить владельца и группу.
После выполнения команды подождите некоторое время... а затем дважды введите «да», чтобы завершить восстановление.
- [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
- [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh
Обратите внимание на имя файла после BACKUP= здесь. В новых версиях нельзя использовать полное имя, _gitlab_backup.tarh будет добавлено автоматически, поэтому точку после имени файла здесь писать нельзя.
После завершения восстановления вы можете перезапустить все службы или просто запустить две службы подключения к данным, которые были закрыты ранее.
- [root@tty01 backups]# gitlab-ctl restart
- 或
- [root@tty01 backups]# gitlab-ctl start unicorn
- [root@tty01 backups]# gitlab-ctl start sidekiq
Примечание. Восстановление gitlab с помощью файлов резервных копий должно гарантировать согласованность версий gitlab двух хостов, в противном случае будет выдано сообщение о несовпадении версий.
Обновите или войдите снова, чтобы увидеть удаленные данные.
Пожалуйста, измените его на свой адрес электронной почты, поставщика услуг электронной почты, код авторизации, порт и другую информацию.
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #找到并替换邮箱配置,更改你的邮箱进行测试
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] = 465
- gitlab_rails['smtp_user_name'] = "[email protected]"
- gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
- gitlab_rails['smtp_domain'] = "smtp.163.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = false
- gitlab_rails['smtp_tls'] = true
- gitlab_rails['smtp_pool'] = false
- gitlab_rails['gitlab_email_from'] = '[email protected]'
После настройки сохраните и выйдите, а затем перезагрузите конфигурацию.
[root@tty01 ~]# gitlab-ctl reconfigure #重新配置 GitLab 服务
Войдите на веб-страницу и войдите в систему как случайный пользователь. Мы использовали случайный формат электронной почты, который использовали раньше. Теперь мы меняем его на наш реальный адрес электронной почты, чтобы проверить нашу конфигурацию электронной почты.
После внесения изменений и нажатия кнопки «Сохранить» появится всплывающее окно. Вам нужно зайти на свою электронную почту и нажать «Подтвердить» для проверки.
Придя на ящик, я вижу, что отправителем является почтовый ящик qq, который я заполнил в конфигурации, и на измененный ящик пользователя отправляется проверка.
Нажатие кнопки «Подтвердить» приведет к переходу на новую страницу, где вы увидите, что пользователь успешно изменил свой адрес электронной почты.