Introducció

La integració contínua (CI) és una pràctica de desenvolupament de programari on els desenvolupadors integren el seu codi en un repositori compartit de manera freqüent, preferiblement diverses vegades al dia. Cada integració és verificada per una compilació automatitzada i proves per detectar errors tan aviat com sigui possible. En aquest tema, aprendrem com configurar i utilitzar sistemes d'integració contínua amb Xcode.

Conceptes Clau

  1. Integració Contínua (CI): Procés d'automatitzar la integració del codi de diversos desenvolupadors en un projecte compartit.
  2. Servidor CI: Una eina que automatitza la compilació i les proves del codi. Exemples inclouen Jenkins, Travis CI, CircleCI, etc.
  3. Scripts de Compilació: Scripts que defineixen com s'ha de compilar i provar el codi.
  4. Configuració de Compilació: Paràmetres que defineixen com s'ha de compilar el projecte en diferents entorns (desenvolupament, prova, producció).

Configuració Bàsica de CI amb Xcode

Pas 1: Seleccionar un Servei d'Integració Contínua

Hi ha diversos serveis de CI que es poden utilitzar amb Xcode. Alguns dels més populars són:

  • Jenkins: Un servidor d'automatització de codi obert.
  • Travis CI: Un servei de CI que s'integra fàcilment amb GitHub.
  • CircleCI: Un altre servei de CI popular que ofereix integració amb GitHub i Bitbucket.

Pas 2: Configurar el Projecte Xcode

Abans de configurar el servidor CI, assegura't que el teu projecte Xcode estigui preparat per a la integració contínua:

  1. Proves Automatitzades: Assegura't que tens proves unitàries i d'interfície d'usuari configurades.
  2. Schemes Compartits: Comparteix els schemes del teu projecte perquè el servidor CI pugui accedir-hi. A Xcode, ves a Product > Scheme > Manage Schemes i marca l'opció Shared per als schemes que vulguis utilitzar.

Pas 3: Configurar el Servidor CI

Exemple amb Travis CI

  1. Crear un Fitxer .travis.yml: Aquest fitxer defineix la configuració de compilació i proves per a Travis CI.
language: swift
osx_image: xcode12.5
xcode_project: YourProject.xcodeproj # substitueix amb el nom del teu projecte
xcode_scheme: YourScheme # substitueix amb el nom del teu scheme
xcode_destination: platform=iOS Simulator,OS=14.5,name=iPhone 12

script:
  - xcodebuild clean build test -project YourProject.xcodeproj -scheme YourScheme -destination 'platform=iOS Simulator,OS=14.5,name=iPhone 12' ONLY_ACTIVE_ARCH=NO
  1. Afegir el Fitxer al Repositori: Afegeix el fitxer .travis.yml al teu repositori de codi.

  2. Activar el Repositori a Travis CI: Ves a Travis CI i activa el teu repositori.

Exemple amb Jenkins

  1. Instal·lar Jenkins: Pots instal·lar Jenkins localment o utilitzar una instància al núvol.
  2. Configurar un Job: Crea un nou job de tipus "Freestyle project".
  3. Configurar el Repositori de Codi: Afegeix l'URL del teu repositori Git.
  4. Configurar el Build Script: Afegeix un pas de build amb el següent script:
#!/bin/bash
set -eo pipefail
xcodebuild -project YourProject.xcodeproj -scheme YourScheme -destination 'platform=iOS Simulator,OS=14.5,name=iPhone 12' clean build test

Pas 4: Executar i Monitoritzar

Un cop configurat el servidor CI, cada vegada que facis un commit al teu repositori, el servidor CI:

  1. Descarregarà el codi.
  2. Compilarà el projecte.
  3. Executarà les proves.
  4. Informarà dels resultats.

Exercici Pràctic

Configura Travis CI per al teu Projecte Xcode

  1. Crea un Fitxer .travis.yml amb la configuració adequada per al teu projecte.
  2. Afegeix el Fitxer al Repositori i fes un commit.
  3. Activa el Repositori a Travis CI.
  4. Fes un Commit de Prova i verifica que Travis CI executa la compilació i les proves correctament.

Solució

language: swift
osx_image: xcode12.5
xcode_project: YourProject.xcodeproj
xcode_scheme: YourScheme
xcode_destination: platform=iOS Simulator,OS=14.5,name=iPhone 12

script:
  - xcodebuild clean build test -project YourProject.xcodeproj -scheme YourScheme -destination 'platform=iOS Simulator,OS=14.5,name=iPhone 12' ONLY_ACTIVE_ARCH=NO

Errors Comuns i Consells

  • Error de Compilació: Assegura't que el scheme està compartit i que el nom del projecte i scheme són correctes.
  • Proves Fallides: Revisa els logs de Travis CI per identificar per què les proves han fallat.
  • Configuració Incorrecta del Fitxer .travis.yml: Verifica que tots els camps estan correctament configurats.

Conclusió

La integració contínua és una eina poderosa per millorar la qualitat del codi i detectar errors de manera primerenca. Configurar un sistema de CI amb Xcode pot semblar complicat al principi, però els beneficis a llarg termini en termes de qualitat i eficiència del desenvolupament són inestimables. Amb aquesta guia, hauríeu de ser capaços de configurar un sistema de CI bàsic per al vostre projecte Xcode.

© Copyright 2024. Tots els drets reservats