Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tabla de contenido
1. Línea de comando de Gitlab para cambiar la contraseña de administrador
2. Gestión de servicios de Gitlab
3. El proceso de envío del código de desarrollo de la empresa.
4. Copia de seguridad y recuperación de Gitlab
Recuperación de datos de prueba
5. Configuración de correo electrónico
- [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 # 查看日志;
Los gerentes de proyecto (PM) crean tareas en GitLab y las asignan a los desarrolladores:
Después de que el desarrollador recibe la tarea, usa git clone localmente para extraer la biblioteca de códigos.:
git clone <仓库地址>
Los desarrolladores crean ramas de desarrollo y desarrollan:
dev
: git checkout -b dev
dev
El desarrollo y las modificaciones del código se realizan en la sucursal.Una vez que el desarrollador completa el desarrollo, lo envía al almacén local.:
git add . git commit -m "完成任务描述"
Los desarrolladores solicitan una solicitud de fusión de sucursales (solicitud de fusión) en la interfaz de GitLab:
git push origin dev
master
omain
)。El PM verifica los envíos y las modificaciones del código en GitLab. Después de confirmar que son correctos, confirma que la rama del desarrollador se fusionará con la rama principal.:
dev
Sucursal fusionada enmaster
rama.El desarrollador confirma que Mark completó el desarrollo en GitLab y cierra el problema.:
close #1
(en#1
es el número del Asunto), de modo que cuando se fusione la Solicitud de fusión, el Asunto relacionado se cerrará automáticamente.
Verifique la versión del sistema y la versión del software
- [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
Abra el archivo de configuración /etc/gitlab/gitlab.rb y vea un elemento de configuración relacionado con la copia de seguridad:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
- gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
- gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径
Este elemento define la ruta del archivo de copia de seguridad predeterminado. Puede modificar la configuración y ejecutar. gitlab-ctl reconfigurar o reiniciar gitlab-ctl Reinicie el servicio para que surta efecto.
- [root@tty01 ~]# gitlab-ctl reconfigure
- 或
- [root@tty01 ~]# gitlab-ctl restart
Ejecute el comando de copia de seguridad para realizar una copia de seguridad
[root@tty01 ~]# gitlab-rake gitlab:backup:create
Después de ejecutar el comando, aparece un mensaje de advertencia:gitlab.rb
ygitlab-secrets.json
El archivo contiene datos confidenciales y no está incluido en esta copia de seguridad. Al restaurar una copia de seguridad, es necesario realizar una copia de seguridad de estos archivos manualmente.
Por supuesto, esto también se puede hacer junto con tareas planificadas.
Compruebe si los archivos en el directorio de copia de seguridad existen normalmente
- [root@tty01 ~]# ls /var/opt/gitlab/backups/
- 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar
Establezca el tiempo de retención de la copia de seguridad para evitar que se realicen copias de seguridad todos los días. Definitivamente existe el riesgo de que el directorio esté lleno. Abra el archivo de configuración /etc/gitlab/gitlab.rb y busque la siguiente configuración.
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
- gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天
El tiempo configurado está en segundos. Si desea aumentarlo o disminuirlo, puede configurarlo directamente aquí y reiniciar el servicio mediante gitlab-ctl restart para que surta efecto.
Cuando se complete la copia de seguridad, se generará un paquete tar con la fecha de hoy en el directorio de copia de seguridad.
Inicie sesión como usuario administrativo y elimine elementos de la biblioteca
Debe detener el servicio de conexión de datos antes de restaurar:
- [root@tty01 ~]# gitlab-ctl stop unicorn
- [root@tty01 ~]# gitlab-ctl stop sidekiq
Si se trata de un host creado por Taishin, generalmente no es necesario detener la operación de conexión de datos. En teoría, está bien detener estos dos servicios. Detener estos dos servicios es garantizar la coherencia de los datos. Generalmente, los archivos de copia de seguridad en el directorio /data/gitlab/backups del servidor anterior se copian a /data/gitlab/backups en el nuevo servidor para su recuperación. Aquí, el entorno experimental se restaura en esta máquina.
Permisos de nota: 600 permisos no se pueden restaurar. El entorno experimental se puede cambiar a 777. Para el entorno de producción, se recomienda modificar el propietario y el grupo.
Después de ejecutar el comando, espere un momento... y luego ingrese sí dos veces para completar la recuperación.
- [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
- [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh
Preste atención al nombre del archivo después de BACKUP= aquí. En las versiones más recientes, no se puede usar el nombre completo, _gitlab_backup.tarh se agregará automáticamente, por lo que el punto después del nombre del archivo no se puede escribir aquí.
Una vez completada la recuperación, ahora puede reiniciar todos los servicios o simplemente iniciar los dos servicios de conexión de datos que se cerraron anteriormente.
- [root@tty01 backups]# gitlab-ctl restart
- 或
- [root@tty01 backups]# gitlab-ctl start unicorn
- [root@tty01 backups]# gitlab-ctl start sidekiq
Nota: La restauración de gitlab a través de archivos de respaldo debe garantizar que las versiones de gitlab de los dos hosts sean consistentes; de lo contrario, se indicará que las versiones no coinciden.
Actualice o inicie sesión nuevamente para ver los datos eliminados.
Cámbielo a su dirección de correo electrónico, proveedor de servicios de correo electrónico, código de autorización, puerto y otra información.
- [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]'
Después de configurar, guarde y salga, y luego vuelva a cargar la configuración.
[root@tty01 ~]# gitlab-ctl reconfigure #重新配置 GitLab 服务
Inicie sesión en la página web e inicie sesión como usuario aleatorio. Usamos el formato de correo electrónico aleatorio que usamos antes. Ahora lo cambiamos a nuestro correo electrónico real para probar nuestra configuración de correo electrónico.
Después de realizar cambios y hacer clic en Guardar, aparecerá una ventana emergente. Debes ir a tu correo electrónico y hacer clic en Confirmar para verificación.
Cuando llego al buzón, puedo ver que el remitente es un buzón qq. Completé la configuración y se envía una verificación al buzón modificado del usuario.
Al hacer clic en Verificar, se saltará a una nueva página, donde podrá ver que el usuario ha cambiado correctamente su dirección de correo electrónico.