Questa guida ti spiega come configurare una pipeline CI/CD con GitLab.
Prefazione
Assicurati di aver prima aggiunto la tua app Capacitor a Capgo, poiché questo tutorial si concentra solo sulla fase di upload. Se devi aggiungere la tua app a Capgo, puoi seguire questo Tutorial.
Convenzione dei commit
Per prima cosa, devi iniziare a seguire la convenzione dei commit conventional commits` questo aiuterà il tooling a capire come incrementare il numero di versione; bastano 5 minuti per impararlo.

GitLab CI/CD per il tag
Crea un file .gitlab-ci.yml nella root del tuo repository GitLab con il seguente contenuto
stages:
- tag
bump_version:
stage: tag
only:
- main
except:
variables:
- $CI_COMMIT_MESSAGE =~ /^chore\(release\):/
script:
- git config --global user.email "gitlab@yourdomain.com"
- git config --global user.name "GitLab CI/CD"
- git checkout $CI_COMMIT_REF_NAME
- git pull origin $CI_COMMIT_REF_NAME
- npx capacitor-standard-version
- git push origin $CI_COMMIT_REF_NAME --tags
Sostituisci “gitlab@yourdomain.com” e “GitLab CI/CD” con la tua email e il tuo username GitLab nella sezione script. Questa configurazione attiva il job solo sui push sul branch main ed esclude i commit con messaggi che iniziano con “chore(release):”.
GitLab CI/CD per la build
Aggiungi un altro stage al tuo file .gitlab-ci.yml per la build:
stages:
- deploy
deploy:
stage: deploy
only:
- tags # This job will only run for tag pushes
script:
- apt-get update -qy && apt-get install -y nodejs npm
- npm install -g @capgo/cli
- npm ci
- npm run build
- npx @capgo/cli bundle upload -a $CAPGO_TOKEN -c production
variables:
FIREBASE_CONFIG: $FIREBASE_CONFIG # Define this in your GitLab project settings
environment:
name: production
Assicurati di aver aggiunto la tua chiave Capgo API (CAPGO_TOKEN) come variabile CI/CD nel tuo progetto GitLab. Vai sul tuo progetto in GitLab, naviga in Settings > CI/CD > Variables e aggiungi una variabile chiamata CAPGO_TOKEN con il valore della tua chiave API.
Personalizza lo script di build per adattarlo al processo del tuo progetto, ad esempio modificando il comando npm run build.
Conclusione
Eccoci qui! Abbiamo fatto un passo in più nel nostro percorso tecnologico. Nello sviluppo software moderno, la CI/CD è un fattore essenziale da considerare. Spero che questa guida sia utile a tutti.
Continua con: Build e release automatiche dell'app con GitLab
Se stai usando Build e release automatiche dell'app con GitLab per pianificare l'automazione CI/CD e connetterla a CI/CD con Capgo per il workflow del prodotto in Capgo CI/CD, Capgo Native Build per il workflow di prodotto in Capgo Native Builds, Integrazioni Capgo per il workflow di prodotto in Integrazioni Capgo, Integrazione CI/CD per i dettagli implementativi in CI/CD Integration, e Integrazione GitHub Actions per i dettagli implementativi in GitHub Actions Integration.