Autor: admin
-

Creació d’un entorn CI/CD (part 1)
Vaig a crear una infraestructura de contenidors docker per a CI/CD. Assumim que ja tenim una instalacio docker amb portainer.
Contenidors essencials per a CI/CD:
- GitLab CE
-
Funció: Repositori de codi + gestió de pipelines.
-
Imatge:
gitlab/gitlab-ce -
Ports:
-
80: HTTP (interficie web)
-
443: HTTPS (interficie web)
-
22: SSH (per a clonar el repositori i fer commit al remot)
-
-
Consideracions:
- Muntar volums per a dades persistents:
- /etc/gitlab
- /var/opt/gitlab
- var/log/gitlab
- Muntar volums per a dades persistents:
-
- GitLab Runner
-
Funció: Execució dels jobs dels pipelines (build, test, deploy…)
-
Imatge:
gitlab/gitlab-runner -
Tipus d’execució:
-
Docker: cada job s’executa dins un contenidor separat. (usaré aquesta).
-
Shell: s’executen directament al host (o contenidor).
-
-
Estructura de carpetes recomanada:
/infra-ci-cd/ │ ├── docker-compose.yml ├── gitlab/ │ ├── config/ │ ├── logs/ │ └── data/ │ └── runner/ └── config/Creació dels contenidors
#docker-compose.yml services: gitlab: image: gitlab/gitlab-ce:latest restart: always hostname: 'gitlab.local' ports: - '880:80' - '8443:443' - '822:22' volumes: - './gitlab/config:/etc/gitlab' - './gitlab/logs:/var/log/gitlab' - './gitlab/data:/var/opt/gitlab' gitlab-runner: image: gitlab/gitlab-runner:latest restart: always volumes: - './runner/config:/etc/gitlab-runner' - '/var/run/docker.sock:/var/run/docker.sock'He especificat ports diferents de la màquina local redirigits als ports necesaris al contenidor per a no provocar conflictes:
ports: - '880:80' - '8443:443' - '822:22'Una volta creat tot, executar:
docker compose up -dAçò posarà en marxa els contenidors que podrem vore al Portainer.

Accés al GitLab
A l’arxiu
/etc/hostsconfigure el dominigitlab.local) per a accedir amb el navegador web per aquesta direcció.#/etc/hosts 127.0.0.1 gitlab.localPer a obtenir la contrasenya de root del GitLab que s’ha creat automàticament, cal executar:
docker exec -it [nom_contenidor_gitlab] grep 'Password:' /etc/gitlab/initial_root_passwordJa es pot accedir a http://gitlab.local:880 i entrar amb el usuari root i aquesta contrasenya. A continuació, cree un projecte en blanc per a la API (crearé un nou projecte en blanc per al frontend en pròxims passos):

A la seguent part començaré a fer el primer commit per a configurar els pipelines.
- GitLab CE

