Skip to content

Latest commit

 

History

History
219 lines (154 loc) · 5.68 KB

12 - Cicd-taller-2.md

File metadata and controls

219 lines (154 loc) · 5.68 KB

Taller 1: CI/CD con AWS CodeCommit, AWS CodeBuild, AWS CodePipeline y AWS ECR

1 Vamos a crear nuestro repositorio en AWS CodeCommit

Clonaremos nuestro repositorio en nuestro ambiente en Cloud9

$ git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/MaxCloud

A continuación vamos a copiar la carpeta flaskapp y el archivo buildspec.yml a nuestra carpeta con el repositorio de codecommit

Subimos estos archivos a nuestro repositorio en codecommit

$ cd MaxCloud
$ git add .
$ git commit -m "add files"
$ git push

2 Vamos a crear nuestro proyecto en AWS CodeBuild

Colocaremos la siguiente información:

Ahora le damos click en "Start Build"

Observamos que el build presenta un error, es por que el rol que utiliza codebuild no tiene permisos para hacer push en AWS ECR

3 Vamos a crear nuestro repositorio en AWS ECR

A continuación vamos a agregar permisos al rol de AWS CodeBuild para que pueda realizar el push a ECR.

Vamos a nuestro proyecto en Codebuild y vamos a la pestaña "Proyect details" y nos vamos al apartado "Environment" y le damos click en "Service Role"

Vamos a darle click en "Attach policies"

Vamos a filtrar el permiso "AmazonEC2ContainerRegistryFullAccess", lo seleccionamos y le damos click en "Add permission"

Regresamos al proyecto en CodeBuild y le damos en "Start build"

El build falla, debido a que nos falta configurar la variable de entorno AWS_ACCOUNT_ID

Vamos a agregar la variable de entorno

Colocamos AWS_ACCOUNT_ID y en el valor colocamos el numero de nuestra cuenta, luego le damos "Update Environment"

Le volvemos a dar a "Star build" y vemos que ahora el build se realizo con éxito

Nuestra imagen Docker debe aparecer en AWS ECR

4 Vamos a automatizar la creación de imágenes cada vez que se haga un push en master, para ello vamos al servicio de AWS CodePipeline y le damos click en "Create pipeline"

Despues de crear el pipeline, este se va ejecutar automáticamente y vemos que se ha generado una nueva imagen docker automáticamente

Cada vez que realicemos un push a la rama main se va a ejecutar el pipeline y va a generar una nueva imagen Docker en AWS ECR

5 Debemos eliminar los recursos creados en

  • AWS ECR
  • AWS Codepipeline
  • AWS Codebuild
  • AWS CodeCommit