GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar Gitlab para la integración e implementación continuas en CentOS

En este tutorial, explicaré cómo configurar un servidor Gitlab local para la operación de CI (Integración continua) / CD (Implementación continua). Como cualquiera que aún no lo sepa, GitLab es una plataforma DevOps completa que se entrega como una sola aplicación. Desde la planificación de proyectos y la gestión del código fuente a través de CI/CD hasta la supervisión y la seguridad. Permite que los equipos colaboren y trabajen en una sola conversación en lugar de administrar varios hilos en varias herramientas. Al proporcionar un repositorio de datos, una interfaz de usuario y un modelo de autorización únicos durante todo el ciclo de vida de DevOps, los equipos pueden colaborar de manera significativa, reducir el tiempo del ciclo y concentrarse exclusivamente en crear rápidamente cada aplicación.

A medida que cada enfoque comercial se vuelve más grande y completo, todos los productos deben tener características más sobresalientes que sus competidores. Para lograr esto, se deben introducir y desarrollar múltiples módulos una vez que estén listos, se deben llevar rápidamente al mercado y se deben probar y verificar por completo. De esta manera, realmente ayudaría a alcanzar el hito si Gitlab fuera la única fuente de aplicaciones que pudiera facilitar el proceso de transición a la práctica de DevOps.

1. ¿Cómo funciona la integración continua y la implementación continua?

Existe una secuencia lógica de posibles acciones a realizar a lo largo del ciclo de vida del proceso de desarrollo de software, utilizando GitLab como plataforma para su código. El objetivo es apoyar a los equipos de manera coherente y eficaz desde la primera fase de implementación de un nuevo producto hasta la fase final de implementación en producción. La siguiente imagen muestra un resumen del flujo de trabajo:

Dado que el alcance de DevOps es bastante amplio, este tutorial se centra en configurar el servidor Gitlab en condiciones locales. Usaremos Gitlab Community Edition para configurarlo en nuestro entorno local.

2. Fase de instalación

Para la fase de instalación, primero comenzaremos configurando el servidor con los requisitos previos, suponiendo que cada servidor tenga una configuración de servidor mínima. A continuación se muestran los pasos:

 [[email protected] ~]# cat /etc/resolv.conf 
[[email protected] ~]# yum updateinstall -y curl policycoreutils-python openssh-server

Hacer lo anterior es opcional, solo para garantizar que nuestra instalación y revisión funcionen sin problemas. Una vez finalizada la instalación, tendrá la captura de pantalla como se muestra a continuación

A continuación, inicie el servicio postfix según sea necesario. A continuación se muestran los comandos.

 [[email protected] ~]# systemctl start postfix 
[[email protected] ~]# systemctl status postfix
[[email protected] ~]# systemctl enable postfix

Una vez hecho esto, tendrá la captura de pantalla como se muestra a continuación



A continuación, debemos instalar wget para tomar el script de automatización proporcionado por el propio GitLab para la instalación. También puede usar otra forma de hacer la instalación, como usar Curl, etc. Para este ejercicio, usaré wget para descargar el script en su lugar. Una vez instalados los paquetes wget, descargaremos el script desde aquí y lo colocaremos en nuestro servidor local. A continuación se muestran los pasos:

 [[email protected] ~]# yum install -y wget 
[[email protected] ~]# wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh
[[email protected] ~]# chmod +x script.rpm.sh
[[email protected] ~]# ./script.rpm.sh

El proceso será el siguiente:

A continuación, comenzaremos a preparar el servicio de GitLab y sus dependencias configuradas. Los pasos son los siguientes:

 [[email protected] ~]# EXTERNAL_URL="http://10.124.12.133:80" 
[[email protected] ~]# echo $EXTERNAL_URL
http://10.124.12.133
[[email protected] ~]# yum install -y gitlab-ce

Una vez que todo esté hecho, verá el progreso como se muestra a continuación

¡Estupendo! Ahora que todo está en orden, continuemos con el proceso de instalación del servicio y sus dependencias. Como GitLab era una aplicación sólida para que DevOps se diseñara en conjunto, habrá varios paquetes y se configurará la configuración. Por lo tanto, es normal que el tiempo necesario sea más largo que cualquier instalación de servicio normal. Antes de comenzar la instalación, confirmemos que la URL principal se ha configurado como se esperaba. A continuación se muestran los pasos:-

 [[email protected] ~]# cat /etc/gitlab/gitlab.rb 
external_url='http://10.124.12.133'

[[email protected] ~]# gitlab-ctl reconfigure

Si el progreso se desarrolla sin problemas, obtendrá lo que se muestra en la siguiente captura de pantalla

Ahora que todo está hecho en la parte de la instalación, hagamos el toque final que está habilitando el puerto para que funcione Gitlab. A continuación se muestran los pasos:-

 [[email protected] ~]# firewall-cmd --permanent --add-service ssh 
[[email protected] ~]# firewall-cmd --permanent --add-service http
[[email protected] ~]# firewall-cmd --reload
[[email protected] ~]# iptables -L -n

A continuación se muestra la captura de pantalla

Ahora que casi hemos hecho la instalación de GitLab, ahora podemos comenzar a iniciar sesión en nuestro propio servidor de GitLab y configurar el proyecto según sea necesario. Como resultado final, puede ver su servicio GitLab a través del navegador a través de la URL que configuramos anteriormente, en nuestro caso es http://10.124.12.133. Lo redirigirá automáticamente a la página principal, luego establecerá su contraseña de administrador inicial según sea necesario. En este caso, el usuario administrador predeterminado es root . A continuación se muestra el ejemplo:-

3. Fase de prueba

Una vez hecho todo, actuemos como un usuario en un equipo que define un proyecto que usa GitLab como repositorio de desarrollo de proyectos. Primero vamos a crear un nuevo proyecto, haga clic en Crear un proyecto y defina el detalle según sea necesario. Los ejemplos son los siguientes:-

Una vez hecho esto, será redirigido a la página principal del proyecto como se indica a continuación

Ahora, como proyecto, varios usuarios contribuirán a este repositorio. Para recrear el escenario, vamos a crear un usuario que luego contribuirá a este proyecto. Regrese a la página principal y haga clic en Agregar personas . Será redirigido a la página de creación de miembros como se muestra a continuación. Cree un usuario y complételo según sea necesario.

Ahora, una vez que haya terminado, regrese a la página principal de su proyecto, vaya a configuración y haga clic en miembros . A continuación se muestra el ejemplo:-

Lo llevará a la página de miembros del proyecto, incluirá el nuevo usuario que ha creado y definirá los roles para otorgar al usuario, como el ejemplo a continuación. Para cada definición de roles y privilegios, puede hacer clic en Leer más para más detalles

Una vez hecho esto, verá la lista de miembros del equipo otorgados según el siguiente ejemplo:-

Ahora, probemos la contribución del flujo de trabajo del proyecto accediendo desde otro servidor e inicie sesión como el nuevo usuario que hemos creado y cree un nuevo archivo para confirmarlo en el proyecto. Primero, tomemos la URL para que el proyecto se clone desde otro servidor o estación de trabajo. Puede tomar el enlace URL del proyecto del siguiente ejemplo:-

Como todo está preparado, iniciemos sesión en una estación de trabajo de prueba y clonemos el proyecto para que otro usuario pueda acceder. A continuación se muestran los pasos:-

 [[email protected] ~]# yum install -y git 
[[email protected] ~]# git clone http://10.124.12.133/root/my-first-project.git

Deberá proporcionar acceso de usuario para clonar el proyecto, use el nuevo usuario creado ahora como ejemplo que se muestra a continuación:-

Una vez hecho esto, se creará una nueva carpeta con el nombre del proyecto en su estación de trabajo. Ahora ve dentro de la carpeta y crea un archivo vacío. Esto es solo para probar que el proyecto puede ser contribuido por cualquier miembro del equipo desde cualquier estación de trabajo y el repositorio del proyecto siempre se actualizará sincrónicamente. A continuación se muestran los pasos:-

 [[email protected] ~]# cd ls 
anaconda-ks.cfg my-first-project
[[email protected] ~]# cd my-first-project/
[[email protected] my-first-project]# ls
README.md
[[email protected] my-first-project]# touch myfile.txt

Como todo hecho, confirmemos nuestros cambios para que se sincronice con el repositorio principal del proyecto. A continuación se muestran los pasos:-

 [[email protected] my-first-project]# git add myfile.txt 
[[email protected] my-first-project]# git commit -m "added new file"
[[email protected] my-first-project]# git push -u origin master

Una vez que el comando anterior procedió, el proceso se mostrará como ejemplo a continuación:-

¡Estupendo! Como todo está hecho, volvamos al navegador y actualicemos la página. Notará que el nuevo archivo enviado por el usuario shahril se muestran en la página principal del proyecto


Cent OS
  1. Cómo instalar y configurar GitLab en CentOS 7

  2. Cómo instalar ownCloud en CentOS 7

  3. Cómo instalar Drupal 8 en CentOS 7

  4. Cómo instalar OpenStack de un solo nodo en CentOS 7

  5. Cómo instalar y configurar Gitlab en CentOS 8

Cómo instalar y configurar OTRS (herramienta de emisión de boletos) en CentOS 7 / RHEL 7

Cómo instalar y configurar GitLab CE en CentOS 7

Cómo instalar Ansible AWX en CentOS 7

Cómo instalar y configurar GitLab CE en CentOS 8

Cómo instalar y configurar Gitlab CE Server en Centos 8

Cómo configurar GitLab en CentOS 8