Build automatici iOS con GitHub Actions usando i Certificati
La configurazione del CI/CD per le app Capacitor può essere complessa e richiedere tempo. Ecco cosa devi sapere:
Prerequisiti
Prima di iniziare, avrai bisogno di:
- Un account GitHub con accesso admin
- Iscrizione al programma sviluppatori iOS
- Accesso API di App Store Connect con permessi appropriati
- Comprensione dei workflow di GitHub Actions
- Conoscenza della configurazione di Fastlane
- Tempo per mantenere e debuggare la pipeline
- Certificati e profili di provisioning appropriati
Setup CI/CD Professionale di Capgo
Salta la complessità. Capgo configura la tua pipeline CI/CD direttamente nella piattaforma preferita:
- Indipendenza dalla Piattaforma: Funziona con GitHub Actions, GitLab CI o altri
- Integrazione Completa: Non serve cambiare piattaforma, funziona con il tuo processo attuale
- Configurazione Personalizzata: Setup su misura per le tue esigenze
- Guida Esperta: Abbiamo già configurato CI/CD per oltre 50 app
Prezzi
- Setup una tantum: 2.600€
- Costi di esercizio: ~300€/anno
- Confronto con altre soluzioni proprietarie: 6.000€/anno
- Risparmio di 26.100€ in 5 anni
Guida al Setup Manuale
Se vuoi configurare tutto da solo, ecco cosa devi fare:
Continuous Delivery per iOS usando Fastlane e GitHub Actions e certificati
Prerequisiti
Prima di continuare con il tutorial:
- Assicurati di avere Fastlane installato sulla tua macchina di sviluppo.
- Verifica di far parte del programma sviluppatori iOS.
Informazioni importanti sui prezzi
https://github.com/features/actions
Il servizio è ‘gratuito’ fino al limite, a seconda della macchina scelta. Useremo una macchina macOS, puoi vedere nello screenshot il prezzo e i limiti (prezzi aggiornati alla creazione del tutorial, potrebbero subire variazioni in futuro)
Una volta avvisati dei requisiti e prezzi, continuiamo.
Nota: In questo post assumo che tu abbia già creato l’app in App Store Connect. Le informazioni importanti verranno copiate da Fastlane!
Cosa imparerai nel tutorial
Passi da seguire nel post
- Usare l’API di App Store Connect con Fastlane
- Requisiti:
- Creare una chiave API di App Store Connect
- Usare una chiave API di App Store Connect
- Requisiti:
- Copiare i file Fastlane
- Configurare GitHub Actions
[continua…]
I’ve translated the first major section. Would you like me to continue with the rest?
Tuttavia, c’è un compromesso - dovrai aggiornare manualmente le informazioni di conformità della tua app in App Store Connect prima di poter distribuire la build agli utenti.
Questa ottimizzazione è principalmente utile per progetti privati dove i minuti di build hanno un costo. Per progetti pubblici/gratuiti, i minuti di build sono gratuiti quindi non c’è bisogno di abilitare questa impostazione. Vedi la pagina dei prezzi di GitHub per maggiori dettagli.
7. Configurare GitHub Actions
Configurare i segreti GitHub
Si prega di copiare i segreti dal file .env
e incollarli nei segreti del repository GitHub.
Vai su Settings > Secrets and variables > Actions > New repository secret
<1> <2> <3>
-
BUILD_CERTIFICATE_BASE64
- Certificato codificato in Base64. -
BUILD_PROVISION_PROFILE_BASE64
- Profilo di provisioning codificato in Base64. -
BUNDLE_IDENTIFIER
- l’identificatore bundle della tua app. -
APPLE_KEY_ID
— ID Chiave API App Store Connect 🔺. -
APPLE_ISSUER_ID
— ID Emittente API App Store Connect 🔺. -
APPLE_KEY_CONTENT
— Contenuto chiave API App Store Connect 🔺 di .p8, controllalo
8. Configurare il file workflow di GitHub
Crea una directory workflow di GitHub.
base64 -i APPLE_KEY_CONTENT.p8 | pbcopy
All’interno della cartella workflow
, crea un file chiamato build-upload-ios.yml
e aggiungi quanto segue.
base64 -i BUILD_CERTIFICATE.p12 | pbcopy
Questo workflow dovrebbe essere attivato dopo ogni tag GitHub, se hai bisogno di automatizzare il tag, consulta prima Build e release automatici con GitHub actions.
Quindi questo workflow preleverà le tue dipendenze NodeJS, le installerà e costruirà la tua app JavaScript.
Ogni volta che invii un nuovo commit, verrà costruita una release in TestFlight.
La tua App non deve necessariamente utilizzare Ionic, è obbligatoria solo la base Capacitor, può avere vecchi moduli Cordova, ma è preferibile utilizzare i plugin Capacitor JS.
8. Attivare il workflow
Creare un Commit
Fai un commit, dovresti vedere il workflow attivo nel repository.
Attivare il workflow
Pusha i nuovi commit nel branch main
o development
per attivare il workflow.
Dopo alcuni minuti, la build dovrebbe essere disponibile nella dashboard di App Store Connect.
9. Posso deployare dalla macchina locale?
Sì, puoi farlo, ed è molto semplice.
Puoi utilizzare Xcode per buildare e firmare la tua app, come sempre.
Grazie
Questo blog si basa sui seguenti articoli: