Fitxers de configuració del servidor DevOps (IT12-DEVOPS, 192.168.2.5).
Governança vigent del repo i del node: [[../dymagoo-devops/governanca-v1.0|governanca-v1.0.md]]
L'estructura del repo és un mirror complet del filesystem del servidor. Cada fitxer del repo té el mateix path relatiu que al servidor.
deploy.sh és l'excepció: viu a l'arrel del repo i no es copia al servidor — és un script de gestió del repo.
it12-devops/ → / (arrel del servidor)
├── deploy.sh → (no es copia — script de gestió del repo)
├── opt/devops/ → /opt/devops/
│ ├── traefik/
│ ├── gitea/
│ ├── jenkins/
│ ├── grafana/
│ ├── keycloak/
│ ├── portainer/
│ ├── harbor/
│ ├── backup/
│ │ ├── backup.sh
│ │ └── backup_snapshots.sh
│ └── snapshots/
│ ├── snapshot.sh
│ └── restore-snapshot.sh
└── etc/
├── netplan/99-dns.yaml
└── docker/daemon.json
Primera instal·lació al servidor
# 1. Clonar el repo git clone git@github.com:eforna/it12-devops.git ~/it12-devops # 2. Fer el deploy (crea /opt/devops/ i copia tots els fitxers) bash ~/it12-devops/deploy.sh # 3. Preparar les credencials ⚠️ IMPORTANT # .env.example NO es copia al servidor (exclòs del rsync per seguretat) # Cal copiar-lo des del repo local: cp ~/it12-devops/opt/devops/.env.example /opt/devops/.env nano /opt/devops/.env # omplir les contrasenyes reals
Flux de treball habitual
# Al Mac (VSCode): editar fitxers → commit → push # Al servidor: actualitzar i desplegar cd ~/it12-devops && git pull bash ~/it12-devops/deploy.sh # Si cal reiniciar un servei cd /opt/devops/traefik && docker compose up -d
Criteri operatiu
Giteaés l'origen intern canònicJenkinspromou automàticament aGitHubGitHubés repositori secundari d'emergència i backup- els canvis manuals per
sshnomés són acceptables en fase de prova o definició; elDONEexigeix baixar-los a repo i deixar-los automatitzats
deploy.sh
Sincronitza el repo amb el filesystem via rsync. Suporta --dry-run per previsualitzar canvis sense aplicar-los:
bash ~/it12-devops/deploy.sh --dry-run # previsualitzar bash ~/it12-devops/deploy.sh # aplicar
Resolució de problemes
deploy.sh — error CRLF ($'\r': command not found)
Els fitxers editats des de Windows/VSCode poden tenir salts de línia CRLF.
El .gitattributes del repo força LF, però si el problema persisteix:
sed -i $'s/\r//' ~/it12-devops/deploy.sh
git pull — "local changes would be overwritten"
Passa quan sed ha modificat deploy.sh localment:
rm ~/it12-devops/deploy.sh && git pull
Documentació
Consulta el repo devops-lab-doc per a guies pas a pas, notes d'instal·lació i resolució d'errors.
Vegeu també: journal/25_primer-deploy-it12-devops.md