Entorno de integración continua (1) -instalación y uso del servidor de alojamiento de código de Gitlab

1. Introducción a GitlabInserte la descripción de la imagen aquí

Sitio web oficial: https://about.gitlab.com/

GitLab es un proyecto de código abierto para un sistema de gestión de almacenes. Utiliza Git como herramienta de gestión de código y crea un servicio web sobre esta base. GitLab, como GitHub, es un trabajo de terceros basado en Git. Es gratuito y de código abierto (basado en el protocolo MIT). Similar a Github, puede registrar usuarios, enviar su código, agregar SSHKey, etc. La diferencia es que GitLab se puede implementar en su propio servidor y toda la información, como la base de datos, está en sus manos. Es adecuado para el desarrollo colaborativo dentro del equipo. En pocas palabras, GitLab puede considerarse como una versión personal de GitHub.

2. Instalación de Gitlab (instalación de yum)

2.1 Dependencias relacionadas con la instalación

yum -y install policycoreutils openssh-server openssh-clients postfifix

2.2 Configurar sshd para que se inicie en el arranque

Nota: Este paso se puede omitir, obviamente, los servicios ssh se inician automáticamente

systemctl enable sshd 

2.3 Configure postfifix para que se inicie automáticamente después de arrancar y comience, postfifix admite la función de envío de gitlab

systemctl enable postfix.service && systemctl start postfix.service

2.4. Abra los servicios ssh y http, vuelva a cargar el firewall

Nota: Si apaga el firewall, no es necesario que realice la configuración anterior.

firewall-cmd --add-service=ssh --permanent 
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

2.5 Descarga el paquete de gitlab e instálalo

cd /root/pkg
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.7.8-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-13.7.8-ce.0.el7.x86_64.rpm

o

cat << EOF > /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
gpgcheck=0
enabled=1
EOF
yum makecache     #更新yum源 
yum -y install gitlab-ce          #安装最新版本的gitlab
yum list gitlab-ce --showduplicates | sort -r  #查看仓库中所有gitlab版本
yum -y intsall gitlab-ce-12.3.5-ce.0.el7       #安装指定版本的gitlab

2.6 Modificar la configuración de gitlab

1) Estructura de directorio

/opt/gitlab     主目录
/etc/gitlab     配置文件目录
/var/log/gitlab 日志目录

2) Modificar el archivo de configuración de gitlab

vim /etc/gitlab/gitlab.rb

#gitlab基本配置:
#外部访问url(并非必须配置;经过编译后,自动将这个配置编译到nginx配置,nginx就无需配置了)
external_url 'http://10.99.200.110:8888'
nginx['listen_port'] = 8088

3) Configure el nombre de dominio (si se ha modificado el archivo de configuración anterior /etc/gitlab/gitlab.rb, se puede omitir)

vim /var/opt/gitlab/nginx/conf/gitlab-http.conf (si el servicio no ha sido reconfigurado, no existe tal archivo de configuración)
el puerto para el acceso a la red externa. Si el servidor ya tiene un servidor que ocupa 80, entonces se puede cambiar aquí a otro

listen *:8088;
server_name gitlab.test.domain.com;
set $http_host_with_default "gitlab.test.domain.com:8088"

Nota complementaria: debido a que esta configuración nginx personalizada se regenerará al compilar la configuración de gitlab /etc/gitlab/gitlab.rb, siempre que la configuración de gitlab esté bien configurada, no es necesario personalizar el nginx anterior.

2.7 Recargar la configuración e iniciar gitlab

gitlab-ctl reconfigure
gitlab-ctl restart
相关命令
gitlab-ctl restart               #重新启动gitLab
gitlab-ctl start                 #启动全部服务
gitlab-ctl restart               #重启全部服务
gitlab-ctl stop                  #停止全部服务
gitlab-ctl restart nginx         #重启单个服务
gitlab-ctl status                #查看全部组件的状态
gitlab-ctl show-config           #验证配置文件
gitlab-ctl uninstall             #删除gitlab(保留数据)
gitlab-ctl cleanse               #删除所有数据,重新开始
gitlab-ctl tail <svc_name>       #查看服务的日志
gitlab-ctl tail                  #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log     #查看nginx访问日志
gitlab-rake gitlab:check SANITIZE=true --trace  #检查gitlab
gitlab-rails console production      #进入控制台 ,可以修改root 的密码

2.8 Agregar puerto al firewall

Nota: Si apaga el firewall, no es necesario que realice la configuración anterior.

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload

3. Instalación de Gitlab (instalación de la versión de Docker)

3.1 instalación de la ventana acoplable

Referencia de instalación de Docker

3.2 instalación de gitlab

docker search gitlab-ce      #查找镜像
docker pull gitlab/gitlab-ce       #拉取镜像
mkdir -p /home/GitLab/{
    
    config,data,log}  #创建相关目录
chmod -R 755 /home/GitLab/{
    
    config,data,log}  #权限
docker run -itd  -h 192.168.16.119 -p 443:443 -p 80:80 -p 222:22 --name GitLab --restart always -v /home/GitLab/config:/etc/gitlab -v /home/GitLab/log:/var/log/gitlab -v /home/GitLab/data:/var/opt/gitlab gitlab/gitlab-ce   #启动容器

Descripción de parámetros:

-d:后台运行
-p:将容器内部端口向外映射
–name:命名容器名称
-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

Inserte la descripción de la imagen aquí
La configuración en la instalación del paso de configuración yum es la misma, por lo que no la repetiré aquí.Los archivos de configuración han sido persistentes y son locales.

3.3 Script de respaldo

Escribir script de respaldo

#!/bin/bash
case $1 in
  start)
    docker exec  GitLab gitlab-rake gitlab:backup:create;;
esac

Inserte la descripción de la imagen aquí
Escribe tareas cronometradas

echo '00 03 * * 6 /home/GitLab/gitlab_data_backup.sh start' >>  /var/spool/cton/root

4. Inicie sesión en la página de inicio.

La primera vez que visita GitLab, debe esperar pacientemente. El 502 puede aparecer debido al servicio incompleto; el sistema redirigirá la página a la página de restablecimiento de contraseña, debe ingresar la contraseña de la cuenta de administrador inicial y el administrador el nombre de usuario es root, la contraseña inicial es 5iveL! fe (la contraseña inicial se puede obtener en el registro). Después de restablecer la contraseña, la nueva contraseña es la que acaba de ingresar.

Restablecer contraseña
imagen
Página de inicio de sesión La página
imagen
después de iniciar sesión
imagen

5. Precauciones y resolución de problemas anormales

  1. El inicio de sesión de instalación predeterminado requiere restablecer la contraseña de root. Puede establecer una contraseña compleja e iniciar sesión usted mismo.
  2. El propio Gitlab usa el puerto 80. Si el servidor tiene 80 habilitado antes de la instalación, se informará un error después de la instalación. Necesito cambiar el puerto predeterminado de gitlab. Modifique el elemento de configuración external_url'http: // localhost: 8088 'en el archivo de configuración /etc/gitlab/gitlab.rb.
  3. Si solo desea usar el puerto 80, está bien. Si cambia el puerto, puede ajustar el archivo de configuración nginx para configurar el proxy inverso nginx.
  4. Aquí puede vincular su propio nombre de dominio de gitlab o red pública, IP de red interna para reemplazar localhost para el acceso a la red pública, dependiendo de su situación real. Por seguridad, gitlab generalmente se implementa en la intranet. La ubicación de implementación específica, decida según su situación real. (Por razones de seguridad, no se recomienda configurar la IP pública para la exposición. Puede configurar el enlace de IP para devolución u otras reglas para el acceso de evitación de IP a través de nginx). El nombre de dominio de la dirección de prueba de gitlab de este sitio es: gitlab.test .dominio.com.
  5. El propio Unicorn usa el puerto 8080, si no usa 8080 allí, no necesita modificarlo más tarde. Si 8080 está habilitado en el servidor antes de la instalación, se informará un error después de la instalación. Necesita cambiar el puerto predeterminado de unicornio: modifique el elemento de configuración unicorn ['listen'] = '127.0.0.1' unicorn ['port'] = 3000 en el archivo de configuración /etc/gitlab/gitlab.rb.
  6. Cada vez que reconfigura, necesita ejecutar sudo gitlab-ctl reconfigure para que sea efectivo.
  7. Ubicación del registro: / var / log / gitlab Puede acceder para ver el registro de acceso y el registro de errores, etc., para revisar el acceso y solucionar problemas de excepción.
  8. Si gitlab-ctl reconfigure informa de un error.

imagen
Pruebe este comando y luego ejecute gitlab-ctl reconfigure nuevamente

cat /etc/sysctl.conf /etc/sysctl.d/*.conf | sysctl -e -p -
  1. Cuando el navegador visita, reportará un error 502 de vez en cuando, y es necesario aumentar la memoria virtual del servidor.
dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #增加2G左右SWAP
mkswap /var/swap #设置交换文件
swapon /var/swap #激活启用交换分区
echo "/var/swap swap swap defaults 0 0" >> /etc/fstab #加入开机自启

6. Uso del servidor de alojamiento de código de Gitlab (agregar grupo, crear usuario, crear proyecto)

6.1 Crear grupo de proyecto y proyecto

Crear grupo de
Inserte la descripción de la imagen aquí
proyecto Crear proyecto
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

6.2 Creación y autorización de cuenta

Crear una cuenta Después de crear la
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
cuenta, cambie la contraseña,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
agregue el usuario al proyecto y autorice
Inserte la descripción de la imagen aquí

6.3 Crear un nuevo almacén

git clone http://10.99.200.110:8888/test/deam-test.git
cd deam-test
touch README.mdgit add README.md
git commit -m "add README"
git push -u origin master

Inserte la descripción de la imagen aquí

6.4 Asociar proyectos locales a gitlab

cd existing_folder  #existing_folder是已有的目录
git init
git remote add origin http://10.99.200.110:8888/test/web_deam.git
git add .
git commit -m "Initial commit"
git push -u origin master

Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí
Todo está aquí. Para obtener más información, consulte la cuenta pública personal de WeChat. TODO En Linux, ¡escaneémoslo!
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_44729138/article/details/115020279
Recomendado
Clasificación