implementación de referencia

Git Webhooks en AWS

Punto de conexión HTTPS y código para vincular el repositorio de Git a AWS

Esta solución implementa un punto de conexión HTTPS, que puede usar para configurar un webhook, y así vincular su Git a Amazon Web Services (AWS). Con un webhook instalado, cada vez que se realiza un envío, el repositorio se recupera automáticamente, se comprime y se carga a un bucket de Amazon Simple Storage System (Amazon S3). Luego, puede configurar AWS CodePipeline, AWS CodeBuild y AWS CodeDeploy, para usar el bucket de S3 como fuente.

AWS desarrolló esta solución.

 


Los administradores de AWS Service Catalog pueden agregar esta arquitectura a su propio catálogo.  

  •  Lo que va a crear
  • Esta solución configura un entorno de la nube de AWS sin servidor, que incluye los siguientes componentes:

    • Un punto de conexión de Amazon API Gateway para recibir solicitudes de webhook de Git y reenviarlas a AWS Lambda.
    • Una función de AWS Lambda para procesar solicitudes de webhook de Git desde API Gateway e invocar un proyecto de AWS CodeBuild.
    • Un proyecto de AWS CodeBuild para conectar a su servicio de Git, y luego recuperar, comprimir y cargar la versión más reciente del repositorio de Git en Amazon S3.
    • Una clave de AWS Key Management Service (AWS KMS) para cifrar/descifrar claves de SSH (Secure Shell) que usa CodeBuild para conectarse con el repositorio de Git usando SSH. El par de claves de SSH se genera con un recurso personalizado de AWS CloudFormation con respaldo de Lambda cuando se implementa la pila.
    • Dos buckets de Amazon S3: uno para contenidos del repositorio de Git y otro para claves de SSH cifradas. Un recurso personalizado de AWS CloudFormation con respaldo de Lambda elimina los contenidos de los buckets de S3 cuando usted elimina la pila. Si necesita copias de respaldo, copie los buckets de S3 antes de eliminar la pila.
  •  ¿Cómo realizar la implementación?
  • Para crear el entorno Git con AWS, siga las instrucciones en la guía de implementación. En el proceso de implementación, se incluyen los siguientes pasos:

    1. Si aún no tiene cuenta de AWS, regístrese en https://aws.amazon.com.
    2. Lance la solución. La implementación toma alrededor de 15 minutos.
    3. Siga las instrucciones del servicio Git para establecer el repositorio Git a fin de configurar los webhooks. (Debe poder conectarse al repositorio de Git por Internet.)
    4. Configure un servicio de AWS para conectarse al objeto de S3.
    5. Pruebe un envío.

    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
  • Esta solución implementa una clave de AWS Key Management Service (AWS KMS), lo que incurre en un costo mensual por el almacenamiento y el uso de la clave. (Consulte los precios de AWS Key Management Service).

    Los costos de API Gateway, Amazon S3, Lambda y AWS CodeBuild varían según la frecuencia con la que se envía código al repositorio de Git conectado. (Consulte los precios de Amazon API Gateway, los precios de Amazon S3, los precios de AWS Lambda y los precios de AWS CodeBuild.)

    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?