Se ha generado una estructura paralela de proyectos /despliegues/<nombregrupo>/<nombreproyecto>-deploy
| Tabla de contenidos |
|---|
Alta del proyecto
Creamos los subgrupos dentro de /despliegues/
Una vez tenemos el grupo creado se genera el proyecto <nombreproyecto>-deploy con los ficheros ordinarios de la aplicación base que se use habitualmente.
Se debe crear una rama por cada entorno, por conveniencia se usan web_desafm, web_testfm y web_prodfm.
Alta del group access token
Cuando hayamos creado el grupo generamos un group access token a nivel /despliegues/<nombregrupo>/ (esto sólo tendremos que hacerlo 1 vez por grupo, no por proyecto y habrá que volver a hacerlo cada vez que el token caduque en 365 días a partir de la generación del último).
Veremos los tokens generados y pulsaremos en Add new token
Rellenaremos el siguiente formulario, donde colocaremos como Token name DEPLOY_BOT_<NOMBREGRUPO>, estableceremos la fecha de caducidad del token o lo dejaremos vacío para que tome la máxima posible, seleccionaremos Developer como role y elegiremos los scopes de read y write repository.
En la siguiente pantalla nos mostrará cómo el token ha sido creado, deberemos copiar la credencial y almacenarla en algún sitio, porque será con la que se conectará al repositorio el grupo de desarrollo para escribir.
Obtención del nombre del bot correspondiente a la credencial generada
A continuación buscaremos el nombre de usuario gitlab que se ha generado para mantener las credenciales, normalmente será del tipo group_<gitlabgroupid>_bot_<tokenid>.Para ello vamos a la sección Members del proyecto y si hay muchos, podemos buscarlo.
Este nombre del bot también tendremos que pasarlo al grupo de desarrollo para que lo registren como credenciales (junto con el token obtenido al principio)
A partir de aquí, cada vez que se escriba en el repositorio se podrá ejecutar alguna acción si se define un pipeline en el fichero .gitlab-ci.yaml (para realizar los despliegues sin usar un temporizador externo, comunicar cosas al proyecto de desarrollo, etc...)







