descripción general de gitlab
GitLab es una plataforma de colaboración de código y gestión de repositorios Git basada en la web. Proporciona un conjunto completo de herramientas y características que permiten a los equipos realizar control de versiones de código, desarrollo colaborativo e integración/implementación continua (CI/CD) de manera más eficiente.
Estas son las características principales y la descripción general de GitLab:
Compatibilidad con el sistema de control de versiones (VCS): GitLab utiliza Git como sistema de control de versiones subyacente, lo que proporciona potentes funciones de control de versiones distribuidas, lo que permite a los miembros del equipo trabajar juntos y realizar un seguimiento del historial de modificaciones del código.
Gestión de repositorios: GitLab permite la creación y gestión de múltiples repositorios Git, cada uno de los cuales contiene un proyecto. Puede interactuar con el repositorio a través de la interfaz web o la línea de comandos, incluidas operaciones como clonar, insertar, extraer y fusionar ramas.
Colaboración y discusión: GitLab proporciona muchas herramientas de colaboración, como seguimiento de problemas, solicitudes de fusión y foros de discusión. Los miembros del equipo pueden realizar revisiones de código y discusiones en solicitudes de fusión, y rastrear y resolver problemas de software en el sistema de seguimiento de problemas.
Integración continua/implementación continua (CI/CD): GitLab integra potentes capacidades de CI/CD para crear, probar e implementar aplicaciones automáticamente. Puede configurar su canalización para definir los pasos de compilación e implementación y activar procesos automatizados mediante activadores, ganchos y temporizadores.
Permisos y control de acceso: GitLab proporciona permisos flexibles y configuraciones de control de acceso, lo que le permite administrar los derechos de acceso de los miembros del equipo y controlar sus acciones en repositorios y proyectos. Puede definir usuarios, grupos, roles y niveles de acceso para garantizar la seguridad y confidencialidad de su código y proyectos.
Integración y extensibilidad: GitLab se puede integrar con muchas otras herramientas y servicios, como JIRA, Slack, Jenkins, etc. También proporciona API y enlaces web, lo que le permite ampliar la funcionalidad de GitLab a través de integraciones y complementos personalizados.
GitLab está disponible como código abierto y también ofrece una versión empresarial (GitLab EE) y un servicio alojado (GitLab.com) para uso comercial y personal. Ya sea que sea un desarrollador individual, un equipo pequeño o una organización grande, GitLab proporciona herramientas y características poderosas para respaldar el desarrollo ágil, las prácticas de DevOps y el desarrollo de software colaborativo.
descarga del paquete gitlab rpm
gitlab-ce se refiere a la versión de la comunidad gitlab-ce, haga clic aquí para abrir la dirección de descarga de gitlab , software de código abierto de la Universidad de Tsinghua mirror station-gitlab .
instalación de gitlab
1 Instalar dependencias
yum install -y curl policycoreutils-python
2 Instalar gitlab
rpm -i gitlab-ce-11.11.8-ce.0.el6.x86_64.rpm
3. Modifique el archivo de configuración de gitlab
vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab20.com:8082' #修改成域名访问,修改后,使配置生效即可
Después de modificar la configuración, haga que la configuración surta efecto.
gitlab-ctl reconfigure
gitlab-ctl restart #重启gitlab服务
gitlab-ctl stop #停止gitlab服务
gitlab-ctl start #启动gitlab
gitlab-ctl tail #查看日志
4. Configure el puerto de escucha para http o https (la configuración generalmente se genera automáticamente). Después de la modificación, debe reiniciar gitlab para que la configuración surta efecto.
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
5 Ver el nombre de dominio o IP actualmente vinculado
grep "^external_url" /etc/gitlab/gitlab.rb
copia de seguridad de gitlab
El directorio de archivos de copia de seguridad predeterminado es: /var/opt/gitlab/backups. Si personaliza el directorio de copia de seguridad, debe otorgar permisos git al directorio. Las operaciones específicas son las siguientes:
Crear directorio de respaldo
mkdir -p /data/backup/gitlab
Modifique el archivo de configuración y agregue la ruta al archivo de configuración
vi /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/data/backup/gitlab'
gitlab_rails['backup_keep_time'] = 604800 #Tiempo de retención de la copia de seguridad (en segundos, este es el valor predeterminado de siete días)
Guarde wq y salga después de
cambiar la configuración y ejecutar reconfigurar gitlab-ctl
El directorio de respaldo requiere autorización
chown -R git.root /data/backup/gitlab
chmod 700 /data/backup/gitlab
Crear copia de seguridad
gitlab-rake gitlab:backup:create
[root@localhost src]# gitlab-rake gitlab:backup:create
2023-05-09 15:08:30 +0800 – Volviendo base de datos…
Volviendo base de datos PostgreSQL gitlabhq_production… [HECHO]
2023-05-09 15:08:31 + 0800 – hecho
2023-05-09 15:08:31 +0800 – Volviendo repositorios…
[SALTADO] Wiki
2023-05-09 15:08:31 +0800 – hecho
2023-05-09 15:08:31 +0800 – Descargando cargas...
2023-05-09 15:08:31 +0800 - hecho
2023-05-09 15:08:31 +0800 - Descargando compilaciones...
2023-05-09 15:08:31 +0800 - hecho
2023-05 -09 15:08:31 +0800 – Volviendo artefactos…
2023-05-09 15:08:31 +0800 – hecho
2023-05-09 15:08:31 +0800 – Volviendo páginas…
2023-05-09 15: 08:31 +0800 – hecho
2023-05-09 15:08:31 +0800 – Volviendo objetos lfs…
2023-05-09 15:08:31 +0800 – hecho
2023-05-09 15:08:31 +0800 – Volviendo imágenes de registro de contenedores…
2023 -05-09 15:08:31 +0800 - [DESHABILITADO]
Creación de archivo de copia de seguridad: 1683616111_2023_05_09_11.11.8_gitlab_backup.tar... hecho
Cargando archivo de copia de seguridad al almacenamiento remoto... omitido
Eliminación de directorios tmp... hecho
hecho hecho
hecho
hecho
hecho
hecho
hecho
Eliminación
de copias de seguridad antiguas … saltando
Después de ejecutar el comando de copia de seguridad, los archivos respaldados se generarán en el directorio /var/opt/gitlab/backups/.
ll /var/opt/gitlab/backups/
-rw-------. 1 git git 2048000 May 9 15:08 1683616111_2023_05_09_11.11.8_gitlab_backup.tar
1683616111是一个时间戳,从1970年1月1日0时到当前时间的秒数。这个压缩包包含Gitlab所有数据(例如:管理员、普通账户以及仓库等等)
crontab -e copia de seguridad automática
#每天2点执行备份
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
Modifique la configuración de gitlab vi /etc/gitlab/gitlab.rb y limite el número de copias de seguridad a 7
gitlab_rails['backup_keep_time'] = 604800