Integrazione CI/CD
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
La integrazione di Capgo nel tuo flusso di lavoro CI/CD ti consente di automatizzare completamente il processo di creazione e distribuzione di aggiornamenti per la tua app. Sfruttando il Capgo CLI e semantic-release, puoi garantire deployment coerenti, affidabili e consentire iterazioni rapide.
Benefici dell'integrazione CI/CD
Sottosezione intitolata “Benefici dell'integrazione CI/CD”-
Automazione: Nessun passaggio manuale o spazio per errori umani. Il tuo processo di creazione, test e distribuzione può essere automatizzato da capo a fondo.
-
Consistenza: Ogni distribuzione segue lo stesso set di passaggi, garantendo un processo prevedibile e ripetibile. Ciò è particolarmente utile quando hai più membri del team che contribuiscono a code.
-
Iterazioni più rapide: Con le distribuzioni automatizzate, puoi spedire aggiornamenti più frequentemente e con fiducia. Non devi più attendere l'approvazione manuale di QA o rilascio.
Capgo CLI
Sezione intitolata “Capgo CLI”La Capgo CLI è la chiave per integrare Capgo nel tuo workflow CI/CD. Fornisce comandi per l'invio di nuove versioni di bundle, la gestione dei canali e altro.
Il comando più importante per l'integrazione CI/CD è bundle upload:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEYSe utilizzi l'encryption dovresti fornirlo in uno dei seguenti modi:
Utilizzando il percorso del file della chiave privata:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHUtilizzando il contenuto della chiave privata direttamente (consigliato per CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENTUtilizzo di variabili di ambiente (pratica consigliata per CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Impostazione delle variabili di ambiente per la crittografia
Sezione intitolata “Impostazione delle variabili di ambiente per la crittografia”Per gli ambienti CI/CD, si consiglia di memorizzare la tua chiave privata come una variabile di ambiente piuttosto che come un file. Ecco come impostarla:
-
Ottieni il contenuto della tua chiave privata:
Finestra del terminale cat .capgo_key_v2 | pbcopyQuesto copia il contenuto della chiave nel portapenna.
-
Aggiungilo nel tuo ambiente CI/CD:
- GitHub Azioni: Aggiungi
CAPGO_PRIVATE_KEYai segreti del tuo repository - GitLab CI: Aggiungilo come variabile mascherata nelle impostazioni del tuo progetto
- CircleCI: Aggiungilo come variabile di ambiente nelle impostazioni del tuo progetto
- Jenkins: Aggiungilo come credenziale di testo segreta
- GitHub Azioni: Aggiungi
-
Utilizzalo nel tuo pipeline:
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Nota: La --key-data-v2 bandiera consente di passare il contenuto della chiave privata direttamente come stringa, rendendola perfetta per le variabili di ambiente nei flussi di integrazione CI/CD in cui non si desidera creare file temporanei.
Questo comando carica la versione attuale del web sul canale specificato. Di solito eseguirai questo come ultimo passo nel tuo flusso di integrazione CI/CD, dopo che il tuo build web è stato completato con successo.
Configurazione di Capgo nel tuo flusso di integrazione CI/CD
Sottosezione intitolata “Configurazione di Capgo nel tuo flusso di integrazione CI/CD”Mentre i passaggi esatti varieranno a seconda della tua scelta di strumento di integrazione CI/CD, il processo generale per l'integrazione di Capgo assomiglia a questo:
-
Genera una API chiave: Accedi al dashboard di Capgo e crea una nuova API chiave. Questa chiave verrà utilizzata per autenticare il CLI nel tuo ambiente di integrazione CI/CD. Tienila segreta e non commetterla mai nel tuo repository!
-
Configura il
bundle uploadcomando: Aggiungi un passo alla tua configurazione di integrazione CI/CD che esegua ilbundle uploadEsegui il comando con gli argomenti appropriati:\n Sostituisciupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productioncon il canale che desideri distribuire,${{ secrets.CAPGO_API_KEY }}con la variabile di ambiente che contiene la tua API chiave, e aggiungi--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"se si utilizza l'encryption. -
Aggiungi il
uploadpasso dopo la tua costruzione web: Assicurati che iluploadpasso venga eseguito dopo che la tua costruzione web sia stata completata con successo. Ciò assicura di distribuire sempre la tua ultima code.\n Ecco un esempio di configurazione per GitHub Actions:\nupload.yml name: Deploy to Capgoon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v6- uses: actions/setup-node@v6with:node-version: '24'- run: npm ci- run: npm run build- run: npm install -g @capgo/cli- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Gestione della versione con Semantic-release
Sezione intitolata “Gestione della versione con Semantic-release”Il modo consigliato per gestire la versione con Capgo è impostare la versione nel tuo capacitor.config.ts file importandolo da package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Questa approccio ti consente di:
- Utilizzare semantic-release (o qualsiasi altro strumento) per aggiornare la
package.jsonversione - Costruire l'applicazione con la versione aggiornata automaticamente inclusa
- Caricare il bundle con la versione corretta
La tua pipeline CI/CD avrebbe l'aspetto seguente:
- run: npm ci- run: npx semantic-release # Updates package.json version- run: npm run build # Builds with new version from capacitor.config- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Ecco un esempio di .releaserc file di configurazione per semantic-release:
{ "branches": [ "main", { "name": "beta", "prerelease": true } ], "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", [ "@semantic-release/git", { "assets": ["CHANGELOG.md", "package.json"], "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" } ] ]}Questa configurazione fa le seguenti cose:
- Analizza i messaggi di commit per determinare il numero di versione successivo, seguendo lo spec di Conventional Commits.
- Genera note di rilascio in base ai commit effettuati dalla versione precedente.
- Aggiorna il
CHANGELOG.mdfile con le nuove note di rilascio. - Aggiorna il
package.jsonnumero di versione, che verrà preso in carico dal tuo capacitor.config. - Commette l'aggiornamento
CHANGELOG.md,package.jsone qualsiasi altro file modificato, torna nel repository.
Assicurati di eseguire semantic-release prima di costruire l'app per assicurarsi che la versione aggiornata da package.json è inclusa nella tua build attraverso il capacitor.config.
Aggiorna automaticamente quando la versione locale è già su Capgo
Sottosezione intitolata “Aggiorna automaticamente quando la versione locale è già su Capgo”Il nome dei bundle deve essere unico (le versioni cancellate occupano ancora il loro nome). Se il CI continua a caricare la stessa package.json versione, il caricamento fallisce. Preferisci l'aggiornamento package.json (ad esempio con semantic-release). Quando ciò non è pratico, lascia che il CLI sceglia la prossima versione semver libera dal canale legato al bundle, o altrimenti la versione app remota più recente:
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @capgo/cli@latest bundle upload --channel=production --auto-bump ai--auto-bump ai utilizza Capgo Cloudflare Workers AI per confrontare i file di bundle locali con il manifesto delta precedente Capgo/canale, scegli major | minor | patch | metadata, e stampa una breve ragione. Senza una versione precedente Capgo, l'AI è saltata e l'aggiornamento è patch.
Non combinare --auto-bump con --bundle / -b. Consulta la bundle upload riferimento per l'elenco completo delle opzioni.
Risoluzione dei Problemi
Sezione intitolata “Risoluzione dei Problemi”Se incontri problemi con l'integrazione CI/CD del tuo Capgo:
-
API chiave: Assicurati che la tua API chiave sia valida e abbia le autorizzazioni necessarie. Se utilizzi una variabile di ambiente, controlla che sia impostata correttamente.
-
CLI versione: Assicurati di utilizzare la versione più recente del Capgo CLI. Le versioni più vecchie potrebbero avere problemi di compatibilità o mancare di alcune funzionalità.
-
Articoli di costruzione: Assicurati che la tua costruzione web generi i file di output previsti. Il Capgo CLI richiede una costruzione web valida per creare un pacchetto.
-
: Controlla che il tuo ambiente CI/CD abbia accesso a rete ai server __CAPGO_KEEP_0__. I problemi di firewall o proxy possono interferire con il : Se hai ancora problemi, contatta il supporto Capgo per ricevere assistenza. Possono aiutarti a risolvere qualsiasi problema con la tua configurazione specifica.
uploadConclusioni
If you’re still having trouble, reach out to Capgo support for assistance. They can help troubleshoot any issues with your specific setup.
Integrando __CAPGO_KEEP_0__ nel tuo flusso di lavoro di CI/CD con una gestione delle versioni corretta, puoi notevolmente semplificare il tuo workflow di sviluppo. Automatizzando le tue distribuzioni e versionando attraverso l'approccio __CAPGO_KEEP_1__.config, puoi spedire aggiornamenti più velocemente e con maggiore fiducia.
L'approccio consigliato di impostare la versione nel tuoIntegrating Capgo into your CI/CD pipeline with proper version management can greatly streamline your development workflow. By automating your deployments and versioning through the capacitor.config approach, you can ship updates faster and with more confidence.
: Assicurati di utilizzare la versione più recente del __CAPGO_KEEP_0__ __CAPGO_KEEP_1__. Le versioni più vecchie potrebbero avere problemi di compatibilità o mancare di alcune funzionalità. capacitor.config.ts Articoli di costruzione package.json fornisce un processo di distribuzione robusto e affidabile che ti consente di concentrarti sulla creazione di grandi funzionalità piuttosto che preoccuparti dei passaggi di rilascio manuali.
Per ulteriori informazioni sui comandi e le opzioni Capgo CLI, consulta il riferimento a CLI. E per una maggiore profondità nell'analisi della configurazione di semantic-release, consulta i documenti di semantic-release.
Buon deploy!
Continua da CI/CD Integration
Sezione intitolata “Continua da CI/CD Integration”Se stai utilizzando CI/CD Integration contexto: Pagina/Area: Capgo Builder / prodotto di costruzione cloud nativa. Ruolo: Etichetta di navigazione o elemento UI breve. Chiave di messaggio `native_build_feature_ci_cd` (Native Build Feature Ci Cd). per pianificare l'automazione di CI/CD, connettilo con il CI/CD Capgo per il workflow del prodotto in Capgo CI/CD, Capgo Costruzioni native per il workflow del prodotto in Capgo Costruzioni native, Capgo Integrazioni for the product workflow in Capgo Integrations, per il workflow del prodotto in GitHub Integrazioni, GitHub Integrazione delle azioni per la dettagliata implementazione in __CAPGO_KEEP_0__ Integrazione delle azioni, e Integrazione CI/CD di GitLab