Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cree una canalización e implemente actualizaciones de artefactos en instancias locales mediante EC2 CodePipeline
Creado por Akash Kumar (AWS) y Sandeep Reddy Jogammagari (AWS)
Resumen
Este patrón proporciona ejemplos de código y pasos para crear una canalización en la nube de Amazon Web Services (AWS) e implementar artefactos actualizados en instancias locales de Amazon Elastic Compute Cloud (Amazon EC2) en AWS CodePipeline. El patrón se basa en la práctica de integración continua. Esta práctica automatiza la compilación y las pruebas de código con un sistema de control de versiones basado en Git. En este patrón, se crea y se clona un repositorio de código mediante AWS CodeCommit. A continuación, crea un proyecto y configura el código fuente mediante AWS CodeBuild. Por último, debe crear la aplicación y configurar su entorno de destino para las EC2 instancias locales mediante AWS CodeDeploy.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Etiquetas definidas por el usuario para identificar las EC2 instancias durante la implementación
CodeDeploy agente, instalado en las instancias EC2
El software de tiempo de ejecución necesario, instalado en EC2 las instancias
Amazon Corretto 8 para el kit de desarrollo de Java
Servidor web Apache Tomcat
, instalado Amazon CloudWatch Events (opcional)
Un par de claves para iniciar sesión en el servidor web (opcional)
Un proyecto de aplicación Apache Maven para una aplicación web
Arquitectura
El siguiente diagrama muestra un ejemplo de aplicación web Java que se implementa en EC2 instancias locales mediante la arquitectura de este patrón.

En el diagrama, se muestra el siguiente flujo de trabajo:
El desarrollador confirma los cambios de código en un repositorio CodeCommit Git privado.
CodePipeline CodeBuild se utiliza para iniciar la compilación y añadir nuevos artefactos que estén listos para su implementación en el bucket de Amazon Simple Storage Service (Amazon S3).
CodePipeline utiliza el CodeDeploy agente para preinstalar todas las dependencias necesarias para los cambios en los artefactos de implementación.
CodePipeline usa el CodeDeploy agente para implementar los artefactos del depósito de S3 en las instancias de destino. EC2 Si está habilitada, CloudWatch Events puede iniciar automáticamente la canalización cuando se produce un cambio en el código fuente.
Pila de tecnología
CodeBuild
CodeCommit
CodeDeploy
CodePipeline
CloudWatch Eventos (opcional)
Herramientas
AWS CodeBuild es un servicio de compilación totalmente gestionado que le ayuda a compilar código fuente, ejecutar pruebas unitarias y producir artefactos listos para su implementación. CodeBuild compila su código fuente, ejecuta pruebas unitarias y produce artefactos listos para su implementación.
AWS CodeCommit es un servicio de control de versiones que le ayuda a almacenar y gestionar repositorios de Git de forma privada, sin necesidad de gestionar su propio sistema de control de código fuente.
AWS CodeDeploy automatiza las implementaciones en Amazon Elastic Compute Cloud EC2 (Amazon) o en instancias locales, funciones de AWS Lambda o servicios de Amazon Elastic Container Service (Amazon ECS).
AWS le CodePipeline ayuda a modelar y configurar rápidamente las diferentes etapas de una versión de software y a automatizar los pasos necesarios para publicar cambios de software de forma continua.
Código
Este patrón incluye los siguientes archivos adjuntos:
buildspec.yml
— Este archivo especifica las acciones necesarias CodeBuild para construir y crear un artefacto para su despliegue.appspec.yml
— Este archivo especifica las acciones necesarias para CodeDeploy crear una aplicación y configurar un entorno de destino para las instancias locales EC2 .install_dependencies.sh
– Este archivo instala las dependencias del servidor web Apache Tomcat.start_server.sh
– Este archivo inicia el servidor web Apache Tomcat.stop_server.sh
– Este archivo detiene el servidor web Apache Tomcat.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree el repositorio. | Administrador de sistemas de AWS | |
Clonar el repositorio. | Conéctese al CodeCommit repositorio clonando el repositorio. | Desarrollador de aplicaciones |
Envíe el código fuente al repositorio remoto. |
| Desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un proyecto de compilación. |
| Administrador de AWS, desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree la aplicación. |
| Administrador de sistemas de AWS, desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree la canalización. |
| Administrador de sistemas de AWS, desarrollador de aplicaciones |
Recursos relacionados
Conexiones
Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip