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
-
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.
-
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.
-
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ó
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
- Prepara una aplicació web simple (per exemple, una pàgina HTML).
- Crea un arxiu
appspec.yml
que copiï els fitxers a/var/www/html
. - Crea un arxiu ZIP amb l'aplicació i el fitxer
appspec.yml
. - Desplega l'aplicació utilitzant AWS CodeDeploy seguint els passos descrits anteriorment.
Solució
- Estructura de l'aplicació:
- Contingut de
appspec.yml
:
- Comprimir l'aplicació:
- 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.