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
- Desplegament Manual: El procés de copiar manualment els fitxers de l'aplicació al servidor de producció.
- Desplegament Automatitzat: Utilitza eines i scripts per automatitzar el procés de desplegament.
- 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
.
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
- Compilar l'aplicació: Utilitza
dotnet publish
. - Copiar els fitxers: Transfereix els fitxers publicats al servidor de producció.
- Configurar el servidor web: Configura IIS, Nginx o Apache per servir l'aplicació.
Desplegament Automatitzat
- Configurar un servidor de CI/CD: Utilitza eines com Jenkins, GitHub Actions, o Azure DevOps.
- Crear un pipeline de desplegament: Defineix els passos per compilar, provar i desplegar l'aplicació automàticament.
- Executar el pipeline: Cada vegada que es fa un canvi en el codi, el pipeline s'executa automàticament.
Desplegament Contínuu (CD)
- Integració amb CI: Configura el pipeline de CI per incloure passos de desplegament.
- 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
- Instal·lar el Hosting Bundle: Descarrega i instal·la el .NET Core Hosting Bundle en el servidor IIS.
- Configurar el lloc web: Crea un nou lloc web en IIS i apunta'l a la carpeta de publicació de l'aplicació.
- Configurar el Application Pool: Assegura't que l'Application Pool utilitzi la versió correcta de .NET Core.
Desplegament en Azure
- Crear un App Service: A la consola d'Azure, crea un nou App Service.
- Desplegar l'aplicació: Utilitza l'eina de línia de comandes d'Azure o el portal web per desplegar l'aplicació.
- Configurar les variables d'entorn: Configura les variables d'entorn necessàries per a l'aplicació.
Eines de CI/CD
GitHub Actions
- Crear un workflow: Defineix un fitxer YAML per al workflow de CI/CD.
- Configurar secrets: Afegeix secrets com cadenes de connexió a bases de dades.
- Executar el workflow: Cada vegada que es fa un push al repositori, el workflow s'executa automàticament.
Azure DevOps
- Crear un pipeline: Defineix els passos per compilar, provar i desplegar l'aplicació.
- Configurar triggers: Configura triggers per executar el pipeline automàticament.
- 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
- Compilar l'aplicació: Utilitza
dotnet publish
. - Transferir els fitxers: Copia els fitxers publicats al servidor IIS.
- Configurar IIS: Crea un nou lloc web i configura l'Application Pool.
- 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.
Curs de Programació en C#
Mòdul 1: Introducció al C#
- Introducció al C#
- Configuració de l'Entorn de Desenvolupament
- Programa Hello World
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control
Mòdul 3: Programació Orientada a Objectes
Mòdul 4: Conceptes Avançats de C#
- Interfícies
- Delegats i Esdeveniments
- Genèrics
- Col·leccions
- LINQ (Consulta Integrada al Llenguatge)
- Programació Asíncrona
Mòdul 5: Treballant amb Dades
Mòdul 6: Temes Avançats
- Reflexió
- Atributs
- Programació Dinàmica
- Gestió de Memòria i Recollida d'Escombraries
- Multifil i Programació Paral·lela
Mòdul 7: Construcció d'Aplicacions
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Estàndards de Codificació i Millors Pràctiques
- Patrons de Disseny
- Proves Unitàries
- Revisió de Codi i Refactorització