El desplegament és l'última fase del cicle de vida del desenvolupament de programari, on l'aplicació es posa en producció i es fa accessible als usuaris finals. En aquest tema, aprendrem com preparar i desplegar una aplicació C# en diferents entorns. Ens centrarem en les millors pràctiques per assegurar un desplegament suau i eficient.

Objectius d'Aprenentatge

  • Entendre els conceptes bàsics del desplegament.
  • Aprendre a preparar una aplicació per al desplegament.
  • Conèixer diferents estratègies de desplegament.
  • Desplegar una aplicació ASP.NET Core en un servidor web.
  • Utilitzar eines de CI/CD per automatitzar el desplegament.

Conceptes Bàsics del Desplegament

Tipus de Desplegament

  1. Desplegament Manual: El procés de copiar manualment els fitxers de l'aplicació al servidor de producció.
  2. Desplegament Automatitzat: Utilitza eines i scripts per automatitzar el procés de desplegament.
  3. Desplegament Contínuu (CD): Integració contínua amb desplegament automàtic després de cada canvi de codi.

Entorns de Desplegament

  • Entorn de Desenvolupament: On els desenvolupadors creen i proven el codi.
  • Entorn de Prova: On es realitzen proves més exhaustives abans de passar a producció.
  • Entorn de Producció: On l'aplicació està disponible per als usuaris finals.

Preparació per al Desplegament

Compilació i Publicació

Abans de desplegar una aplicació, cal compilar-la i publicar-la. En el cas d'una aplicació ASP.NET Core, això es pot fer utilitzant l'eina de línia de comandes dotnet.

dotnet publish -c Release -o ./publish

Aquest comandament compilarà l'aplicació en mode de publicació i col·locarà els fitxers resultants a la carpeta ./publish.

Configuració de l'Aplicació

Assegura't que els fitxers de configuració (com appsettings.json) estiguin correctament configurats per a l'entorn de producció. Això inclou la configuració de cadenes de connexió a bases de dades, serveis externs, etc.

Estratègies de Desplegament

Desplegament Manual

  1. Compilar l'aplicació: Utilitza dotnet publish.
  2. Copiar els fitxers: Transfereix els fitxers publicats al servidor de producció.
  3. Configurar el servidor web: Configura IIS, Nginx o Apache per servir l'aplicació.

Desplegament Automatitzat

  1. Configurar un servidor de CI/CD: Utilitza eines com Jenkins, GitHub Actions, o Azure DevOps.
  2. Crear un pipeline de desplegament: Defineix els passos per compilar, provar i desplegar l'aplicació automàticament.
  3. Executar el pipeline: Cada vegada que es fa un canvi en el codi, el pipeline s'executa automàticament.

Desplegament Contínuu (CD)

  1. Integració amb CI: Configura el pipeline de CI per incloure passos de desplegament.
  2. Monitorització: Implementa eines de monitorització per assegurar que l'aplicació funciona correctament després del desplegament.

Desplegament d'una Aplicació ASP.NET Core

Desplegament en IIS

  1. Instal·lar el Hosting Bundle: Descarrega i instal·la el .NET Core Hosting Bundle en el servidor IIS.
  2. Configurar el lloc web: Crea un nou lloc web en IIS i apunta'l a la carpeta de publicació de l'aplicació.
  3. Configurar el Application Pool: Assegura't que l'Application Pool utilitzi la versió correcta de .NET Core.

Desplegament en Azure

  1. Crear un App Service: A la consola d'Azure, crea un nou App Service.
  2. Desplegar l'aplicació: Utilitza l'eina de línia de comandes d'Azure o el portal web per desplegar l'aplicació.
  3. Configurar les variables d'entorn: Configura les variables d'entorn necessàries per a l'aplicació.

Eines de CI/CD

GitHub Actions

  1. Crear un workflow: Defineix un fitxer YAML per al workflow de CI/CD.
  2. Configurar secrets: Afegeix secrets com cadenes de connexió a bases de dades.
  3. Executar el workflow: Cada vegada que es fa un push al repositori, el workflow s'executa automàticament.

Azure DevOps

  1. Crear un pipeline: Defineix els passos per compilar, provar i desplegar l'aplicació.
  2. Configurar triggers: Configura triggers per executar el pipeline automàticament.
  3. Monitoritzar el pipeline: Utilitza les eines de monitorització d'Azure DevOps per assegurar que el pipeline s'executa correctament.

Exercici Pràctic

Desplegar una Aplicació ASP.NET Core en IIS

  1. Compilar l'aplicació: Utilitza dotnet publish.
  2. Transferir els fitxers: Copia els fitxers publicats al servidor IIS.
  3. Configurar IIS: Crea un nou lloc web i configura l'Application Pool.
  4. Provar l'aplicació: Assegura't que l'aplicació funciona correctament en el servidor IIS.

Solució

# Pas 1: Compilar l'aplicació
dotnet publish -c Release -o ./publish

# Pas 2: Transferir els fitxers
# Utilitza una eina com SCP, FTP o una altra per copiar els fitxers al servidor IIS.

# Pas 3: Configurar IIS
# - Obre el Gestor de IIS.
# - Crea un nou lloc web i apunta'l a la carpeta de publicació.
# - Configura l'Application Pool per utilitzar .NET Core.

# Pas 4: Provar l'aplicació
# - Obre un navegador web i accedeix a l'URL del lloc web per assegurar-te que l'aplicació funciona correctament.

Resum

En aquesta secció, hem après els conceptes bàsics del desplegament, com preparar una aplicació per al desplegament, diferents estratègies de desplegament, i com desplegar una aplicació ASP.NET Core en un servidor IIS i en Azure. També hem vist com utilitzar eines de CI/CD per automatitzar el procés de desplegament. Amb aquests coneixements, estàs preparat per posar la teva aplicació en producció de manera eficient i segura.

© Copyright 2024. Tots els drets reservats