Introducció
La integració i desplegament continus (CI/CD) són pràctiques essencials en el desenvolupament de programari modern. Aquestes pràctiques permeten automatitzar el procés de construcció, prova i desplegament de les aplicacions, assegurant que els canvis en el codi es puguin integrar i desplegar de manera ràpida i fiable.
Objectius del Mòdul
- Entendre els conceptes bàsics de CI/CD.
- Configurar un pipeline de CI/CD per a una aplicació Vue.js.
- Utilitzar eines populars de CI/CD com GitHub Actions i Netlify.
Conceptes Bàsics de CI/CD
Integració Contínua (CI)
- Definició: La integració contínua és una pràctica de desenvolupament de programari on els desenvolupadors integren els seus canvis de codi en un repositori compartit diverses vegades al dia.
- Objectiu: Detectar errors ràpidament i millorar la qualitat del programari.
- Eines Populars: Jenkins, Travis CI, CircleCI, GitHub Actions.
Desplegament Continu (CD)
- Definició: El desplegament continu és una pràctica on els canvis de codi que passen les proves automàtiques es despleguen automàticament a un entorn de producció.
- Objectiu: Reduir el temps de lliurament de noves funcionalitats i correccions de bugs.
- Eines Populars: Netlify, Vercel, Heroku, AWS CodePipeline.
Configuració d'un Pipeline de CI/CD per a una Aplicació Vue.js
Pas 1: Configuració del Repositori
-
Crear un Repositori a GitHub:
- Navega a GitHub i crea un nou repositori.
- Clona el repositori al teu ordinador local.
-
Afegir el Codi de l'Aplicació Vue.js:
- Si no tens una aplicació Vue.js, pots crear-ne una nova utilitzant Vue CLI:
vue create my-vue-app
- Afegeix el codi de l'aplicació al repositori i fes un commit:
git add . git commit -m "Initial commit" git push origin main
- Si no tens una aplicació Vue.js, pots crear-ne una nova utilitzant Vue CLI:
Pas 2: Configuració de GitHub Actions per a CI
-
Crear un Workflow de GitHub Actions:
- Afegeix un fitxer de workflow a
.github/workflows/ci.yml
:name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '14' - run: npm install - run: npm run build - run: npm test
- Afegeix un fitxer de workflow a
-
Explicació del Workflow:
- name: Nom del workflow.
- on: Esdeveniments que desencadenen el workflow (push i pull request a la branca
main
). - jobs: Definició dels treballs a realitzar.
- runs-on: Sistema operatiu on s'executarà el treball (Ubuntu).
- steps: Passos del treball.
- uses: Accions predefinides de GitHub (checkout del codi, configuració de Node.js).
- run: Comandes a executar (instal·lació de dependències, construcció de l'aplicació, execució de proves).
Pas 3: Configuració de Netlify per a CD
-
Crear un Compte a Netlify:
- Navega a Netlify i crea un compte.
-
Desplegar l'Aplicació:
- Connecta el teu repositori de GitHub a Netlify.
- Configura els paràmetres de construcció:
- Build Command:
npm run build
- Publish Directory:
dist
- Build Command:
- Fes clic a "Deploy Site".
-
Automatitzar el Desplegament:
- Netlify automàticament desplegarà l'aplicació cada vegada que es faci un push a la branca
main
.
- Netlify automàticament desplegarà l'aplicació cada vegada que es faci un push a la branca
Exercici Pràctic
Objectiu
Configurar un pipeline de CI/CD per a una aplicació Vue.js utilitzant GitHub Actions i Netlify.
Passos
- Crea un repositori a GitHub i afegeix una aplicació Vue.js.
- Configura un workflow de GitHub Actions per a la integració contínua.
- Desplega l'aplicació a Netlify i configura el desplegament continu.
Solució
-
Crear el Repositori i Afegeix l'Aplicació:
git init vue create my-vue-app cd my-vue-app git remote add origin <URL del teu repositori> git add . git commit -m "Initial commit" git push -u origin main
-
Configurar GitHub Actions:
- Afegeix el fitxer
.github/workflows/ci.yml
amb el contingut proporcionat anteriorment.
- Afegeix el fitxer
-
Desplegar a Netlify:
- Connecta el repositori a Netlify i configura els paràmetres de construcció.
Conclusió
En aquesta secció, hem après els conceptes bàsics de CI/CD i hem configurat un pipeline de CI/CD per a una aplicació Vue.js utilitzant GitHub Actions i Netlify. Aquestes pràctiques ens permeten automatitzar el procés de construcció, prova i desplegament, millorant la qualitat del nostre programari i reduint el temps de lliurament de noves funcionalitats.
Curs de Vue.js
Mòdul 1: Introducció a Vue.js
- Què és Vue.js?
- Configuració de l'entorn de desenvolupament
- Creant la teva primera aplicació Vue
- Entenent la instància de Vue
Mòdul 2: Conceptes bàsics de Vue.js
- Sintaxi de plantilles
- Enllaç de dades
- Propietats computades i observadors
- Enllaços de classes i estils
- Renderització condicional
- Renderització de llistes
Mòdul 3: Components de Vue.js
- Introducció als components
- Props i esdeveniments personalitzats
- Slots
- Components dinàmics i asíncrons
- Comunicació entre components
Mòdul 4: Vue Router
- Introducció a Vue Router
- Configuració de Vue Router
- Rutes dinàmiques
- Rutes niades
- Guàrdies de navegació
Mòdul 5: Gestió d'estat amb Vuex
- Introducció a Vuex
- Estat, getters, mutacions i accions
- Mòduls a Vuex
- Utilitzant Vuex en components
- Patrons avançats de Vuex
Mòdul 6: Directives de Vue.js
Mòdul 7: Plugins de Vue.js
Mòdul 8: Proves en Vue.js
Mòdul 9: Conceptes avançats de Vue.js
- Funcions de renderització i JSX
- Renderització del costat del servidor (SSR) amb Nuxt.js
- API de composició de Vue 3
- Optimització del rendiment