내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
목차
- [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 "完成任务描述"
개발자는 GitLab 인터페이스에서 브랜치 병합 요청(Merge request)을 신청합니다.:
git push origin dev
master
또는main
)。PM은 GitLab에서 제출물과 코드 수정 사항이 올바른지 확인한 후 개발자의 브랜치가 메인 브랜치에 병합되는지 확인합니다.:
dev
지점이 다음으로 병합되었습니다.master
나뭇가지.개발자는 GitLab에서 Mark done에 의해 개발이 완료되었음을 확인하고 이슈를 종료합니다.:
close #1
(안에#1
는 Issue 번호)이므로 Merge Request가 병합되면 관련 Issue가 자동으로 종료됩니다.
시스템 버전 및 소프트웨어 버전 확인
- [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로 변경이 가능합니다. 프로덕션 환경의 경우 소유자, 그룹 수정을 권장합니다.
명령을 실행한 후 잠시 기다린 후... yes를 두 번 입력하면 복구가 완료됩니다.
- [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 메일함인 것을 알 수 있고, 사용자의 변경된 메일함으로 확인 메일이 옵니다.
확인을 클릭하면 새 페이지로 이동하여 사용자가 이메일 주소를 성공적으로 변경했음을 확인할 수 있습니다.