En aquest tema, aprendrem sobre la integració i el lliurament continu (CI/CD) en el context del desenvolupament d'aplicacions amb Ionic. La CI/CD és una pràctica essencial en el desenvolupament de programari modern que permet automatitzar la integració de codi i el desplegament d'aplicacions, millorant així la qualitat del programari i accelerant el temps de lliurament.
Objectius del Tema
- Entendre els conceptes bàsics de la CI/CD.
- Configurar un pipeline de CI/CD per a una aplicació Ionic.
- Integrar eines de CI/CD com GitHub Actions, Travis CI o CircleCI.
- Automatitzar proves, construcció i desplegament de l'aplicació.
Conceptes Bàsics de CI/CD
Integració Contínua (CI)
La integració contínua és una pràctica de desenvolupament de programari on els desenvolupadors integren el seu codi en un repositori compartit diverses vegades al dia. Cada integració és verificada per una construcció automatitzada (incloent proves) per detectar errors tan aviat com sigui possible.
Lliurament Continu (CD)
El lliurament continu és una extensió de la integració contínua que assegura que el codi que passa les proves automatitzades es pot desplegar automàticament en un entorn de producció. Això permet que les aplicacions es lliurin de manera ràpida i segura.
Configurant un Pipeline de CI/CD
Pas 1: Configuració del Repositori
Abans de configurar el pipeline de CI/CD, assegura't que el teu codi estigui en un sistema de control de versions com GitHub, GitLab o Bitbucket.
Pas 2: Eines de CI/CD
Hi ha diverses eines que pots utilitzar per configurar CI/CD per a la teva aplicació Ionic. Algunes de les més populars són:
- GitHub Actions
- Travis CI
- CircleCI
Pas 3: Exemple amb GitHub Actions
1. Crear un Fitxer de Workflow
Crea un fitxer anomenat ci.yml
dins del directori .github/workflows/
del teu repositori.
name: CI/CD Pipeline on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '14' - name: Install dependencies run: npm install - name: Build Ionic app run: npm run build - name: Run tests run: npm test - name: Deploy to Firebase Hosting if: github.ref == 'refs/heads/main' run: | npm install -g firebase-tools firebase deploy --token ${{ secrets.FIREBASE_TOKEN }}
2. Explicació del Workflow
- Checkout repository: Clona el repositori.
- Set up Node.js: Configura l'entorn Node.js.
- Install dependencies: Instal·la les dependències del projecte.
- Build Ionic app: Construeix l'aplicació Ionic.
- Run tests: Executa les proves automatitzades.
- Deploy to Firebase Hosting: Desplega l'aplicació a Firebase Hosting (només si es fa un push a la branca
main
).
Pas 4: Secrets i Tokens
Per desplegar l'aplicació, necessitaràs configurar secrets com el FIREBASE_TOKEN
. A GitHub, pots afegir secrets al teu repositori anant a Settings > Secrets > New repository secret
.
Exercici Pràctic
Objectiu
Configurar un pipeline de CI/CD per a una aplicació Ionic utilitzant GitHub Actions.
Passos
- Crea un nou repositori a GitHub i puja el teu projecte Ionic.
- Crea el fitxer
ci.yml
dins del directori.github/workflows/
. - Afegeix el contingut del workflow proporcionat anteriorment.
- Configura els secrets necessaris per al desplegament.
- Fes un commit i push dels canvis al repositori.
- Verifica que el pipeline s'executa correctament i que l'aplicació es desplega a Firebase Hosting.
Solució
Segueix els passos detallats anteriorment per configurar el pipeline de CI/CD. Si tens problemes, revisa els logs de GitHub Actions per identificar i solucionar els errors.
Resum
En aquest tema, hem après els conceptes bàsics de la integració i el lliurament continu, i hem configurat un pipeline de CI/CD per a una aplicació Ionic utilitzant GitHub Actions. La CI/CD és una pràctica essencial que ajuda a millorar la qualitat del programari i a accelerar el temps de lliurament, permetent desplegar aplicacions de manera ràpida i segura.
Curs de Desenvolupament Ionic
Mòdul 1: Introducció a Ionic
- Què és Ionic?
- Configuració de l'Entorn de Desenvolupament
- Creant la Teva Primera App Ionic
- Entenent l'Estructura del Projecte
- Executant i Depurant la Teva App
Mòdul 2: Components Bàsics i Navegació
- Visió General dels Components Ionic
- Utilitzant Botons i Icones Ionic
- Creant i Utilitzant Pàgines
- Navegació i Enrutament
- Pestanyes i Menús Laterals
Mòdul 3: Estilització i Tematització
- Introducció a l'Estilització Ionic
- Utilitzant CSS i SCSS en Ionic
- Tematitzant la Teva App Ionic
- Disseny Responsiu en Ionic
- Personalitzant Components Ionic
Mòdul 4: Treballant amb Dades
- Introducció al Binding de Dades
- Utilitzant Serveis Angular
- Peticions HTTP i APIs
- Emmagatzemant Dades Localment
- Utilitzant Ionic Storage
Mòdul 5: Components i Funcionalitats Avançades
- Utilitzant Formularis Ionic
- Validació i Gestió d'Errors
- Utilitzant Plugins Ionic Native i Cordova
- Accedint a Funcionalitats del Dispositiu
- Notificacions Push
Mòdul 6: Proves i Desplegament
- Proves Unitàries en Ionic
- Proves de Cap a Cap
- Construint per a Producció
- Desplegant a les Botigues d'Aplicacions
- Integració i Lliurament Continu