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 en las regiones de AWS que no sean compatibles con AWS CodePipeline
Creado por Anand Krishna Varanasi (AWS)
Repositorio de código: invisible-codepipeline-unsupported-regions | Entorno: PoC o piloto | Tecnologías: infraestructura; DevOps |
Servicios de AWS: AWS CodeBuild CodeCommit; AWS CodeDeploy; AWS CodePipeline |
Resumen
AWS CodePipeline es un servicio de organización de entrega continua (CD) que forma parte de un conjunto de DevOps herramientas de Amazon Web Services (AWS). Se integra con una gran variedad de fuentes (como sistemas de control de versiones y soluciones de almacenamiento), productos y servicios de integración continua (CI) de AWS y sus socios, y productos de código abierto para proporcionar un servicio de end-to-end flujo de trabajo que permita una implementación rápida de aplicaciones e infraestructuras.
Sin embargo, CodePipeline no es compatible en todas las regiones de AWS y es útil tener un orquestador invisible que conecte los servicios de CI/CD de AWS. Este patrón describe cómo implementar una canalización de end-to-end flujo de trabajo en las regiones de AWS en las que aún CodePipeline no se admite mediante el uso de servicios de CI/CD de AWS, como CodeCommit AWS CodeBuild, AWS y AWS. CodeDeploy
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
CLI del AWS Cloud Development Kit (AWS CDK) versión 2.28 o posterior
Arquitectura
Pila de tecnología de destino
En el siguiente diagrama se muestra una canalización que se creó en una región que no es compatible CodePipeline, como la región de África (Ciudad del Cabo). Un desarrollador envía los archivos de CodeDeploy configuración (también denominados scripts de enlace del ciclo de vida de despliegue) al repositorio de Git que aloja. CodeCommit (Consulta el GitHub repositorio
Los archivos CodeDeploy de configuración se obtienen CodeCommit como parte de la etapa de origen de la canalización y se transfieren a ella. CodeBuild
En la siguiente fase, CodeBuild realiza las siguientes tareas:
Descargue el archivo TAR del código fuente de la aplicación. Puede configurar el nombre de este archivo mediante Parameter Store, una capacidad de AWS Systems Manager.
Descarga los archivos CodeDeploy de configuración.
Crea un archivo combinado de código fuente de la aplicación y archivos de CodeDeploy configuración específicos del tipo de aplicación.
Inicia el CodeDeploy despliegue en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) mediante el archivo combinado.
![Creación de canalizaciones en una región de AWS no compatible](images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)
Herramientas
Servicios de AWS
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.
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 instancias locales o de Amazon EC2, 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.
AWS Cloud Development Kit (AWS CDK) es un marco de desarrollo de software que le ayuda a definir y aprovisionar la infraestructura de la nube de AWS en código.
Código
El código de este patrón está disponible en el repositorio de regiones GitHub CodePipeline no compatibles
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instale la CLI de AWS CDK. | Para obtener instrucciones, consulte la documentación de AWS CDK. | AWS DevOps |
Instalar un cliente Git. | Para crear confirmaciones, puedes usar un cliente Git instalado en tu computadora local y, a continuación, enviar tus confirmaciones al CodeCommit repositorio. Para configurarlo CodeCommit con tu cliente Git, consulta la CodeCommit documentación. | AWS DevOps |
Instale npm. | Instale el administrador de paquetes npm. Para obtener más información, consulte la documentación npm | AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Clone el repositorio de código. | Clone el repositorio de Regions GitHub CodePipeline no compatibles
| DevOps ingeniero |
Establezca los parámetros en cdk.json. | Abra el archivo
donde:
| AWS DevOps |
Configure la biblioteca de constructo de AWS CDK. | En el GitHub repositorio clonado, utilice los siguientes comandos para instalar la biblioteca de construcción de AWS CDK, compilar la aplicación y sintetizar para generar la CloudFormation plantilla de AWS para la aplicación.
| AWS DevOps |
Implementar la aplicación de AWS CDK de muestra | Implemente el código ejecutando el siguiente comando en una región no compatible (por ejemplo
| AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configurar CI/CD para la aplicación. | Clone el CodeCommit repositorio que especificó en el
donde el nombre y la región del repositorio dependen de los valores que haya proporcionado en el archivo | AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Pruebe la canalización con las instrucciones de implementación. | La | AWS DevOps |
Recursos relacionados
Introducción (documentación de AWS CDK)
Introducción al Cloud Development Kit (CDK)
(AWS Workshop Studio)