Introducció a AWS CodeDeploy

AWS CodeDeploy és un servei de desplegament completament gestionat que automatitza el desplegament d'aplicacions a diversos serveis de computació com Amazon EC2, AWS Lambda, i instàncies on-premises. CodeDeploy ajuda a evitar temps d'inactivitat durant el desplegament i facilita la gestió de la complexitat associada amb el desplegament d'aplicacions.

Objectius d'aprenentatge

  • Comprendre què és AWS CodeDeploy i els seus beneficis.
  • Aprendre a configurar un entorn de CodeDeploy.
  • Realitzar un desplegament bàsic utilitzant AWS CodeDeploy.
  • Conèixer les millors pràctiques per a desplegaments amb CodeDeploy.

Què és AWS CodeDeploy?

AWS CodeDeploy és un servei que permet desplegar aplicacions automàticament a qualsevol instància, ja sigui al núvol o on-premises. Els principals beneficis inclouen:

  • Automatització del desplegament: Redueix la necessitat d'intervenció manual.
  • Minimització del temps d'inactivitat: Permet desplegaments sense interrupcions.
  • Gestió de la complexitat: Facilita la gestió de desplegaments complexos amb múltiples passos.

Configuració del teu entorn de CodeDeploy

Requisits previs

Abans de començar, assegura't de tenir:

  • Un compte d'AWS actiu.
  • AWS CLI instal·lat i configurat.
  • Una aplicació preparada per al desplegament.

Passos per configurar CodeDeploy

  1. Crear un rol de servei per a CodeDeploy:

    • A la consola d'AWS IAM, crea un nou rol amb permisos per a CodeDeploy.
    • Assigna la política AWSCodeDeployRole al rol.
  2. Configurar les instàncies de destinació:

    • Instal·la l'agent de CodeDeploy a les instàncies EC2 o on-premises.
    • Assegura't que les instàncies tinguin els permisos necessaris per comunicar-se amb CodeDeploy.
  3. Crear una aplicació i un grup de desplegament:

    • A la consola de CodeDeploy, crea una nova aplicació.
    • Defineix un grup de desplegament que especifiqui les instàncies de destinació.

Desplegament bàsic amb AWS CodeDeploy

Exemple pràctic

A continuació, es mostra un exemple de com realitzar un desplegament bàsic utilitzant AWS CodeDeploy.

Pas 1: Crear l'aplicació

aws deploy create-application --application-name MyDemoApp

Pas 2: Crear un grup de desplegament

aws deploy create-deployment-group --application-name MyDemoApp --deployment-group-name MyDemoDeploymentGroup --service-role-arn arn:aws:iam::123456789012:role/CodeDeployDemoRole --deployment-config-name CodeDeployDefault.OneAtATime --ec2-tag-filters Key=Name,Value=MyDemoInstance,Type=KEY_AND_VALUE

Pas 3: Preparar l'arxiu d'aplicació

Crea un arxiu ZIP que contingui els fitxers de la teva aplicació i un fitxer appspec.yml que defineixi les instruccions de desplegament.

Exemple de appspec.yml:

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html
hooks:
  BeforeInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root
  AfterInstall:
    - location: scripts/start_server.sh
      timeout: 300
      runas: root

Pas 4: Crear un desplegament

aws deploy create-deployment --application-name MyDemoApp --deployment-group-name MyDemoDeploymentGroup --s3-location bucket=my-bucket,key=my-app.zip,bundleType=zip

Millors pràctiques per a desplegaments amb CodeDeploy

  • Prova els teus scripts de desplegament: Assegura't que els scripts definits en appspec.yml funcionin correctament abans de realitzar un desplegament.
  • Utilitza entorns de prova: Realitza desplegaments en entorns de prova abans de desplegar en producció.
  • Monitoritza els desplegaments: Utilitza Amazon CloudWatch per monitoritzar els desplegaments i detectar problemes ràpidament.
  • Automatitza les proves post-desplegament: Implementa proves automàtiques per verificar que l'aplicació funciona correctament després del desplegament.

Exercici pràctic

Desplegament d'una aplicació web simple

  1. Prepara una aplicació web simple (per exemple, una pàgina HTML).
  2. Crea un arxiu appspec.yml que copiï els fitxers a /var/www/html.
  3. Crea un arxiu ZIP amb l'aplicació i el fitxer appspec.yml.
  4. Desplega l'aplicació utilitzant AWS CodeDeploy seguint els passos descrits anteriorment.

Solució

  1. Estructura de l'aplicació:
my-app/
├── appspec.yml
└── index.html
  1. Contingut de appspec.yml:
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html
  1. Comprimir l'aplicació:
zip -r my-app.zip my-app/
  1. Desplegar l'aplicació:
aws deploy create-deployment --application-name MyDemoApp --deployment-group-name MyDemoDeploymentGroup --s3-location bucket=my-bucket,key=my-app.zip,bundleType=zip

Conclusió

En aquesta secció, hem après què és AWS CodeDeploy, com configurar-lo i com realitzar un desplegament bàsic. També hem revisat algunes millors pràctiques per assegurar desplegaments exitosos. Amb aquests coneixements, estàs preparat per començar a utilitzar AWS CodeDeploy per automatitzar els teus desplegaments d'aplicacions.

© Copyright 2024. Tots els drets reservats