You are on page 1of 34

Capacitación Usach

Laboratorio 3: Implementación de CI &


CD

Nombre: Guillermo Echague


Profesor: David Victoria
Ayudante: Jocelyn Poblete
Curso: Herramientas DevOps en AWS
Fecha: 19-06-2023
Contenido
Introducción ................................................................................................................................. 1
Objetivos de la actividad............................................................................................................. 1
Desarrollo..................................................................................................................................... 2
1. CodeCommit................................................................................................................... 2
2. CodeBuild ....................................................................................................................... 5
3. CodeDeploy .................................................................................................................... 9
4. CodePipiline ................................................................................................................. 24
Conclusión ................................................................................................................................. 29
Referencias................................................................................................................................ 29
Anexos ....................................................................................................................................... 29
Introducción

En el actual entorno de desarrollo de software, la implementación de un proceso de


despliegue continuo (CI & CD) se ha vuelto esencial para lograr una entrega rápida y
confiable de aplicaciones. El despliegue continuo implica la automatización de todo el ciclo
de vida de desarrollo, desde la integración del código hasta su despliegue en entornos de
producción. En este sentido, Amazon Web Services (AWS) ofrece un conjunto de
herramientas altamente integradas que permiten implementar un proceso de despliegue
continuo de manera eficiente y escalable.

Objetivos de la actividad
El objetivo de esta petición es implementar un flujo de despliegue continuo utilizando las
siguientes herramientas de AWS: CodeCommit, CodeBuild, CodeDeploy y CodePipeline.
Estas herramientas proporcionan una infraestructura sólida y automatizada que permite
una integración y entrega continuas del código en aplicaciones.

Implementar un despliegue continuo CI & CD utilizando las herramientas

• CodeCommit
• CodeBuild
• CodeDeploy
• CodePipiline

1
Desarrollo

1. CodeCommit

Las siguientes imágenes muestran la creación del repositorio de CodeCommit en AWS

El siguiente Código permite clonar en local el repositorio creado en codecommit:


ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/laboratorio3
Repositorio creado en local

Resultado en el remoto de CodeCommit creado para realizar la actividad solicitada, luego


de hacer el push del repositorio local, hacia el repositorio remoto de AWS.

2
3
4
2. CodeBuild

Proyecto de CodeBuild para que genere artefactos y los guarde en S3.


Configuración del proyecto en CodeBuild para generar artefactos y guardarlos en S3

5
configuración de la creación de artefactos

Se guardan los artefactos en formato *.zip en S3

6
7
Ejecución del proyecto en CodeBuild para la creación de los artefactos.

Resultados en S3 de la construcción de los artefactos, anteriormente configurados

8
3. CodeDeploy

Desarrollo del rol necesario en IAM para los permisos de la ejecución correcta de la
instancia para desarrollar el CodeDeploy.

Seleccionar la entidad de confianza

9
Agregando los permisos al rol.

Agregar nombre, revisar y crear el rol en IAM.

10
Creación del rol Access2S3

Configuración para lanzar la instancia en EC2 de AWS.

11
12
13
14
Una vez que se ejecuta la instancia lanzada anteriormente se debe configurar el Agente
correspondiente a la instancia.

Las siguientes imágenes muestran la configuración necesaria para el uso de la instancia


actualizando paquetes e instalando dependencias como ruby y wget

15
16
Una vez configurada la instancia se administran las etiquetas de la instancia para su
próximo uso en CodeDeploy.

Creación de un nuevo rol en IAM para su uso en CodeDeploy

17
Las siguientes imágenes muestran la configuración del CodeDeploy con la instancia y roles
creados anteriormente.

18
19
20
21
Ejecución del CodeDeploy configurado anteriormente

22
Resultado de CodeDeploy

23
4. CodePipiline

En esta sección se realiza el CodePipiline con las tareas realizadas anteriormente.

24
25
26
Resultado del CodePipiline

Se modifica el código en el repositorio local, para subir el código a la rama master y se


ejecute el CodePipiline para verificar su correcto funcionamiento ante los cambios en la
rama configurada anteriormente.

27
Resultado del Codepipiline ante el cambio anterior

Resultado de los cambios realizados al código del proyecto en local, vistos en producción.

28
Conclusión

En resumen, la implementación exitosa del despliegue continúo utilizando CodeCommit,


CodeBuild, CodeDeploy y CodePipeline en AWS permitió acelerar el tiempo de entrega,
mejorar la calidad del código y proporcionar un mayor control y visibilidad en el proceso de
desarrollo y despliegue de aplicaciones. Estas herramientas demostraron ser eficientes,
escalables y flexibles, brindando un enfoque sólido para la adopción de prácticas DevOps
en el desarrollo de software.

Referencias
Swaraj, N. (2017). AWS Automation Cookbook: Continuous Integration and Continuous
Deployment using AWS services. Packt Publishing.

Anexos

Realizar conexión con llave SSH


Se genera la llave ssh

29
Configuración en AWS IAM

Obtención de los datos para configurar la llave SSH

30
Configuración del archivo config en windows

Se verifica si esta correcta la conexión por medio de la llave ssh

31
VPC y Subrnet Creadas para el proyecto

32

You might also like