Elegir una estrategia de ramificación de Git para entornos de múltiples cuentas DevOps - AWS Recomendaciones de

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.

Elegir una estrategia de ramificación de Git para entornos de múltiples cuentas DevOps

Amazon Web Services (colaboradores)

Febrero de 2024 (historial del documento)

Pasar a un enfoque basado en la nube y ofrecer soluciones de software AWS puede ser transformador. Es posible que requiera cambios en el proceso del ciclo de vida del desarrollo de software. Por lo general, Cuentas de AWS se utilizan varios durante el proceso de desarrollo en el Nube de AWS. Elegir una estrategia de ramificación de Git compatible que combine con tus DevOps procesos es esencial para el éxito. Elegir la estrategia de ramificación de Git adecuada para tu organización te ayuda a comunicar de forma concisa DevOps los estándares y las mejores prácticas entre los equipos de desarrollo. La ramificación de Git puede ser sencilla en un solo entorno, pero puede resultar confusa cuando se aplica en varios entornos, como entornos sandbox, de desarrollo, de pruebas, de puesta en escena y de producción. Tener varios entornos aumenta la complejidad de la implementación. DevOps

Esta guía proporciona diagramas visuales de las estrategias de ramificación de Git que muestran cómo una organización puede implementar un proceso de múltiples cuentas DevOps . Las guías visuales ayudan a los equipos a entender cómo combinar sus estrategias de ramificación de Git con sus DevOps prácticas. El uso de un modelo de ramificación estándar, como GitHub Gitflow, Flow o Trunk, para gestionar el repositorio de código fuente ayuda a los equipos de desarrollo a alinear su trabajo. Estos equipos también pueden utilizar los recursos de formación estándar de Git en Internet para comprender e implementar esos modelos y estrategias.

Para conocer las DevOps mejores prácticas al respecto AWS, consulte la DevOpsGuía de AWS Well-Architected. Al revisar esta guía, utilice la diligencia debida para seleccionar la estrategia de ramificación adecuada para su organización. Es posible que algunas estrategias se adapten mejor a su caso de uso que otras.

Objetivos

Esta guía forma parte de una serie de documentos sobre cómo elegir e implementar estrategias de DevOps ramificación para organizaciones con múltiples Cuentas de AWS sucursales. Esta serie está diseñada para ayudarlo a aplicar la estrategia que mejor se adapte a sus requisitos, objetivos y mejores prácticas desde el principio, a fin de optimizar su experiencia en la Nube de AWS industria. Esta guía no contiene scripts DevOps ejecutables porque varían según el motor de integración y entrega continuas (CI/CD) y los marcos tecnológicos que utilice su organización.

Esta guía explica las diferencias entre tres estrategias comunes de ramificación de Git: GitHub Flow, Gitflow y Trunk. Las recomendaciones de esta guía ayudan a los equipos a identificar una estrategia de ramificación que se ajuste a sus objetivos organizacionales. Tras revisar esta guía, deberías poder elegir una estrategia de ramificación para tu organización. Tras elegir una estrategia, puedes usar uno de los siguientes patrones para ayudarte a implementar esa estrategia con tus equipos de desarrollo:

Es importante tener en cuenta que lo que funciona para una organización, equipo o proyecto puede no ser adecuado para otras. La elección entre las estrategias de ramificación de Git depende de varios factores, como el tamaño del equipo, los requisitos del proyecto y el equilibrio deseado entre la colaboración, la frecuencia de integración y la gestión de las versiones.

Uso de prácticas de CI/CD

AWS recomienda implementar la integración y la entrega continuas (CI/CD), que son el proceso de automatización del ciclo de vida de las versiones de software. Automatiza gran parte o la totalidad de los DevOps procesos manuales que tradicionalmente se requieren para que el código nuevo pase del desarrollo a la producción. Una canalización de CI/CD abarca los entornos sandbox, de desarrollo, de pruebas, de puesta en escena y de producción. En cada entorno, la canalización de CI/CD proporciona cualquier infraestructura necesaria para implementar o probar el código. Mediante el uso de la CI/CD, los equipos de desarrollo pueden realizar cambios en el código que luego se prueban e implementan automáticamente. Las canalizaciones de CI/CD también proporcionan control y protección a los equipos de desarrollo. Imponen la coherencia, los estándares, las mejores prácticas y los niveles mínimos de aceptación para la aceptación y el despliegue de las funciones. Para obtener más información, consulte Practicar la integración continua y la entrega continua en AWS.

Todas las estrategias de ramificación analizadas en esta guía se adaptan bien a las prácticas de CI/CD. La complejidad de la cartera de CI/CD aumenta con la complejidad de la estrategia de ramificación. Por ejemplo, Gitflow es la estrategia de ramificación más compleja que se analiza en esta guía. Las canalizaciones de CI/CD para esta estrategia requieren más pasos (por ejemplo, por motivos de conformidad) y deben admitir múltiples versiones de producción simultáneas. El uso de la CI/CD también adquiere más importancia a medida que aumenta la complejidad de la estrategia de ramificación. Esto se debe a que la CI/CD establece barreras y mecanismos para los equipos de desarrollo que impiden que los desarrolladores eludan intencional o involuntariamente el proceso definido.

AWS ofrece un conjunto de servicios para desarrolladores diseñados para ayudarle a crear canalizaciones de CI/CD. Por ejemplo, AWS CodePipelinees un servicio de entrega continua totalmente gestionado que le ayuda a automatizar sus procesos de lanzamiento para obtener actualizaciones rápidas y fiables de las aplicaciones y la infraestructura. AWS CodeCommitestá diseñado para alojar de forma segura repositorios Git escalables y AWS CodeBuildcompila el código fuente, ejecuta pruebas y produce paquetes de ready-to-deploy software. Para obtener más información, consulte las Herramientas para desarrolladores en. AWS