Introducción a AWS

Crear una canalización de entrega continua

Configure un repositorio Git, implemente una aplicación web de muestra y cree una canalización de entrega continua

Módulo 5: finalizar una canalización y probarla

En este módulo agregará una etapa de revisión a su canalización de entrega continua con AWS CodePipeline.

Introducción

En este módulo, utilizará AWS CodePipeline para agregar una etapa de revisión a su canalización de entrega continua.

Como parte de este proceso, puede agregar una acción de aprobación a una etapa en el momento en que desea que se frene la ejecución de la canalización a fin de que alguien pueda aprobar o rechazar la acción manualmente. Las aprobaciones manuales son útiles para que alguien más revise un cambio antes de una implementación. Si se aprueba la acción, la ejecución de la canalización finaliza. Si se rechaza la acción (o si nadie aprueba o rechaza la acción dentro de siete días), el resultado es el mismo que si la acción fallara y la ejecución de la canalización no continua.

Lo que aprenderá

  • Agregar una etapa de revisión a su canalización
  • Aprobar manualmente un cambio antes de su implementación

Conceptos clave

Acción de aprobación Tipo de acción de la canalización que detiene su ejecución hasta que alguien la aprueba o la rechaza.

Ejecución de la canalización Conjunto de cambios, como una confirmación fusionada, emitido por una canalización. Las ejecuciones de la canalización atraviesan las etapas de esta en orden. Cada etapa de canalización solo puede procesar una ejecución a la vez. Para hacer esto, se bloquea una etapa mientras procesa una ejecución.

Ejecución fallida Si una ejecución falla, se detiene y no atraviesa por completo la canalización. El estado de la canalización cambia a Failed (Fallido) y se desbloquea la etapa que estaba procesando la ejecución. Una ejecución fallida puede volver a intentarse o puede reemplazarse por una ejecución más reciente.

 Tiempo de realización

5 minutos

 Servicios utilizados

Implementación

  • Crear una etapa de revisión en la canalización
    1. Abra la consola de AWS CodePipeline.
    2. Debería ver la canalización que creamos en el módulo 4, la cual se llamaba “Pipeline-DevOpsGettingStarted”. Haga clic en esta canalización.
    3. Haga clic en el botón blanco Edit (Editar) cerca de la parte superior de la página.
    4. Haga clic en el botón blanco Add stage (Agregar etapa) entre las etapas Build (Crear) y Deploy (Implementar).
    5. En el campo Stage name (Nombre de etapa) escriba Review (Revisión).
    6. Haga clic en el botón naranja Add stage (Agregar etapa).
    7. En la etapa Review (Revisión), haga clic en el botón blanco Add action group (Agregar grupo de acción).
    8. En Action name (Nombre de acción) escriba “Manual_Review”.
    9. En el Action provider (Proveedor de acción) seleccione Manual approval (Aprobación manual).
    10. Confirme que los campos opcionales estén en blanco.
    11. Haga clic en el botón naranja Done (Realizado).
    12. Haga clic en el botón naranja Save (Guardar) que se encuentra en la parte superior de la página.
    13. Haga clic en el botón naranja Save (Guardar) para confirmar los cambios. Ahora verá su canalización con cuatro etapas: Source (Fuente), Build (Crear), Review (Revisión) y Deploy (Implementar).
  • Enviar una nueva confirmación a su repositorio
    1. En su editor de código favorito, abra el archivo app.js del módulo 1.
    2. Cambie el mensaje en la línea 5.
    3. Guarde el archivo.
    4. Abra su cliente Git preferido.
    5. Diríjase a la carpeta creada en el módulo 1.
    6. Confirme el cambio con los siguientes comandos:
    git add app.js
    git commit -m "Full pipeline test"

    7. Envíe los cambios locales al repositorio remoto alojado en GitHub con el siguiente comando:

    git push
  • Controlar la canalización y aprobar el cambio manualmente
    1. Diríjase a la consola de AWS CodePipeline.
    2. Haga clic en la canalización llamada Pipeline-DevOpsGettingStarted. Debería ver que las etapas Source (Fuente) y Build (Crear) cambian de azul a verde.
    3. Cuando la etapa Review (Revisión) cambie a azul, haga clic en el botón blanco Review (Revisión).
    4. Escriba un comentario de aprobación en el cuadro de texto Comments (Comentarios).
    5. Haga clic en el botón naranja Approve (Aprobar).
    6. Espere que las etapas Review (Revisión) y Deploy (Implementar) cambien a verde.
    7. Haga clic en el enlace de AWS Elastic Beanstalk en la etapa Deploy (Implementar). Se abrirá una nueva pestaña que incluye sus entornos de Elastic Beanstalk.
    8. Haga clic en el URL de la fila “Devopsgettingstarted-env”. Debería ver una página web con un fondo blanco y el texto que tenía en su confirmación de GitHub más reciente.

    ¡Felicitaciones! Tiene una canalización de entrega continua completamente funcional alojada en AWS.

Arquitectura de la aplicación

Con todos los módulos completados, esta es la arquitectura de lo que creó:

Module-5

Hemos utilizado AWS CodePipeline para agregar una etapa de revisión con aprobación manual a nuestra canalización de entrega continua. Ahora, tendrán que revisar y aprobar los cambios de código antes de implementarlos en AWS Elastic Beanstalk.

Filtrar los recursos

  • Eliminar la aplicación de AWS Elastic Beanstalk
    1. En un nueva ventana del navegador, abra la consola AWS Elastic Beanstalk Console.
    2. En el menú de navegación, haga clic en Applications (Aplicaciones). Debería ver la aplicación DevOpsGettingStarted mencionada debajo de All applications (Todas las aplicaciones).
    3. Seleccione el botón de opción que aparece al lado de DevOpsGettingStarted.
    4. Haga clic en el botón desplegable blanco Actions (Acciones) en la parte superior de la página.
    5. Seleccione Delete application (Eliminar aplicación) debajo del menú desplegable.
    6. Escriba DevOpsGettingStarted en el cuadro de texto para confirmar la eliminación.
    7. Haga clic en el botón naranja Delete (Eliminar).
  • Eliminar la canalización en AWS CodePipeline
    1. En una nueva ventana del navegador, abra la consola de AWS CodePipeline.
    2. Seleccione el botón de opción que aparece al lado de Pipeline-DevOpsGettingStarted.
    3. Haga clic en el botón desplegable blanco Delete pipeline (Eliminar canalización) en la parte superior de la página.
    4. Escriba “delete” (eliminar) en el cuadro de texto para confirmar la eliminación.
    5. Haga clic en el botón naranja Delete (Eliminar).
  • Eliminar recursos de canalización del bucket de Amazon S3
    1. En una nueva ventana del navegador, abra la consola de Amazon S3.
    2. Debería ver un bucket llamado “codepipeline-us-west-2” seguido por su número de cuenta de AWS. Haga clic en este bucket. Dentro de este bucket, debería ver una carpeta llamada “Pipeline-DevOpsGettingStarted”.
    3. Seleccione la casilla que aparece al lado de la carpeta Pipeline-DevOpsGettingStarted.
    4. Haga clic en el botón blanco Actions (Acciones) del menú desplegable.
    5. Seleccione Delete (Eliminar) en el menú desplegable.
    6. Haga clic en el botón azul Delete (Eliminar).
  • Eliminar el proyecto de creación en AWS CodeBuild
    1. En una nueva ventana del navegador, abra la consola de AWS CodeBuild.
    2. En el menú de navegación izquierdo, haga clic en Build projects (Crear proyectos) debajo de Build (Crear). Debería ver el proyecto creado “Build-DevOpsGettingStarted” incluido en Build project (Crear proyecto).
    3. Seleccione el botón de opción que aparece al lado de Build-DevOpsGettingStarted.
    4. Haga clic en el botón blanco Delete build project (Eliminar proyecto de creación) en la parte superior de la página.
    5. Escriba “delete” (eliminar) en el cuadro de texto para confirmar la eliminación.
    6. Haga clic en el botón naranja Delete (Eliminar).

¿Este módulo le resultó útil?

Gracias
Indíquenos lo que le gustó.
Cerrar
Lamentamos haberlo decepcionado
¿Hay información desactualizada, confusa o inexacta? Ayúdenos a mejorar este tutorial con sus comentarios.
Cerrar

¡Felicitaciones!

¡Ha creado correctamente una canalización de entrega continua en AWS! Como paso siguiente, profundice aún más en las tecnologías específicas de AWS y lleve su aplicación al siguiente nivel.