Implementación de referencia

.NET Core CI/CD en AWS

Implemente una canalización automatizada de aplicaciones de .NET Core

Esta solución proporciona un entorno automatizado de integración continua y entrega continua (CI/CD) en la nube de Amazon Web Services (AWS). Está dirigido a los desarrolladores que buscan implementar una canalización de CI/CD para sus aplicaciones de .NET Core.

El entorno de CI/CD de .NET Core administra las actualizaciones de las aplicaciones mediante AWS CodePipeline, AWS CodeBuild y AWS CodeDeploy. La canalización de CI/CD sondea un repositorio de GitHub para obtener actualizaciones. Cada vez que se modifica el código dentro de la rama del repositorio configurada, la canalización obtiene el código fuente más reciente y crea automáticamente la aplicación. Luego implementa la aplicación en un entorno de AWS Elastic Beanstalk que ejecuta Amazon Linux 2.

Esta implementación escalable ayuda al usuario a ofrecer características y actualizaciones de forma rápida y fiable. No hay que administrar servidores de compilación y solo se paga por lo que se usa.

AWS desarrolló esta solución.

  •  Lo que creará
  • Gracias a esta solución, es posible configurar lo siguiente:

    • Un bucket de Amazon Simple Storage Service (Amazon S3) para almacenar artefactos.
    • Un entorno de Elastic Beanstalk que actúa como objetivo cuando el último paquete de compilación de la aplicación se implementa.
    • Una canalización de CI/CD con las etapas de fuente, compilación e implementación.

    La etapa de fuente invoca a CodePipeline todas las veces que el código cambia en la rama configurada del repositorio de GitHub. En esta etapa se configura GitHub, que integra el código fuente de la aplicación mediante webhooks. Después, se obtiene el último código de GitHub y se coloca en un bucket de S3 en el directorio de Source Artifacts.

    La etapa de creación invoca a CodeBuild, que obtiene el código fuente del bucket de S3. La imagen de Docker de Amazon Linux 2 proporcionada por CodeBuild para .NET Core compila el código fuente más reciente siguiendo los pasos proporcionados en el archivo BuildSpec.yml asociado. El paquete de compilación resultante se coloca en el directorio Build Artifacts en el bucket de S3.

    En la etapa de implementación se invoca a CodeDeploy para que obtenga el paquete de compilación del bucket de S3 y lo implemente en el entorno de Elastic Beanstalk.

  •  Cómo implementar
  • Para implementar .NET Core CI/CD, siga las instrucciones en la guía de implementación. El proceso de implementación, que tarda alrededor de 10 minutos e incluye los siguientes pasos:

    1. Si aún no tiene una cuenta de AWS, regístrese en https://aws.amazon.com e inicie sesión.
    2. Lance la solución.
    3. Pruebe la implementación iniciando una canalización de CI/CD. Puede utilizar la aplicación de ejemplo que se incluye con la solución.

    Amazon puede compartir la información de implementación de los usuarios con el socio de AWS que colaboró con AWS en esta solución.  

  •  Costos y licencias
  • No hay requisitos de licencia para esta solución.

    Usted es responsable del costo de los servicios de AWS, así como de las licencias de terceros que se utilicen, mientras se ejecuta esta solución. No se aplican cargos adicionales por el uso de la solución.

    En esta solución, se incluyen parámetros de configuración que puede personalizar. Algunas de estas configuraciones, como el tipo de instancia, afectan al costo del despliegue. Para hacer estimaciones de costos, consulte las páginas de precios de cada servicio de AWS que utilice. Los precios están sujetos a cambios.

    Sugerencia: Después de implementar una solución, cree Informes de costo y uso de AWS para realizar el seguimiento de los costos asociados. Dichos informes envían métricas de facturación a un bucket de Amazon Simple Storage Service (Amazon S3) en su cuenta. Suministran estimaciones de costos en función del uso de cada mes y agregan los datos a finales del mes. Para obtener más información, consulte ¿Qué son los informes de costo y uso de AWS?