¿Qué es AWS CodeCommit? - AWS CodeCommit

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.

¿Qué es AWS CodeCommit?

AWS CodeCommites un servicio de control de versiones alojado en Amazon Web Services que puede utilizar para almacenar y administrar recursos de forma privada (como documentos, código fuente y archivos binarios) en la nube. Para obtener más información sobre los precios de CodeCommit, consultePrecios de .

nota

CodeCommit está en el ámbito con muchos programas de conformidad. Para obtener más detalles sobre AWS y los esfuerzos de conformidad, consulte Servicios de AWS en ámbito por programa de conformidad.

Se trata de un servicio compatible con HIPAA. Para obtener más información acerca de AWS, la ley de responsabilidad y portabilidad de seguros médicos de Estados Unidos de 1996 (HIPAA) y el uso de los servicios de AWS para procesar, almacenar y transmitir información sanitaria protegida (PHI), consulte Información general sobre la HIPAA.

Para obtener información sobre este servicio e ISO 27001, un estándar de administración de seguridad que especifica las prácticas recomendadas de administración de seguridad, consulteDescripción general de ISO 27001.

Para obtener información sobre este servicio y el estándar de seguridad de datos del sector de tarjetas de pago (PCI DSS), consulte Información general de PCI DSS.

Para obtener más información sobre este servicio y el estándar del gobierno de Estados Unidos Publicación del Estándar de Procesamiento de la Información Federal (FIPS, Federal Information Processing Standard) 140-2 que especifica los requisitos de seguridad para los módulos criptográficos que protegen información confidencial, consulte la descripción general del Estándar de Procesamiento de la Información Federal (FIPS) 140-2 y Puntos de enlace de conexión de Git.

Presentación de CodeCommit

CodeCommit es un servicio de control de código fuente administrado, seguro y altamente escalable que aloja repositorios Git privados. CodeCommit elimina la necesidad de administrar un sistema propio de control de código fuente o de preocuparse acerca del escalado de su infraestructura. Puede utilizar CodeCommit para almacenar cualquier elemento, desde código a archivos binarios. Además, es compatible con las funciones estándar de Git, por lo que funciona perfectamente con las herramientas existentes basadas en Git.

Con CodeCommit, puedes:

  • Beneficiarse de un servicio totalmente administrado alojado en AWS. CodeCommit ofrece alta disponibilidad y durabilidad de servicio y elimina los gastos administrativos de gestión de su propio hardware y software. No es necesario aprovisionar ni escalar hardware, ni instalar, configurar y actualizar software de servidor.

  • Almacenar su código de forma segura. Los repositorios de CodeCommit se cifran tanto en reposo como en tránsito.

  • Trabajar de forma colaborativa con el código. Los repositorios de CodeCommit admiten solicitudes de extracción, donde los usuarios pueden revisar y realizar comentarios sobre los cambios de código de otros usuarios antes de combinarlos en ramificaciones; y notificaciones que se envían automáticamente por correo electrónicos a los usuarios sobre las solicitudes de extracción y los comentarios, y mucho más.

  • Escale fácilmente sus proyectos de control de versiones. Los repositorios de CodeCommit pueden escalarse en vertical para cubrir sus necesidades de desarrollo. El servicio puede gestionar repositorios con un gran número de archivos o ramificaciones, archivos de gran tamaño e historiales de revisión largos.

  • Almacenar todo y en cualquier momento. CodeCommit no tiene límite respecto al tamaño de los repositorios ni los tipos de archivos que se pueden almacenar.

  • Integrarse con otros servicios de AWS y de terceros. CodeCommit mantiene los repositorios cerca de los demás recursos de producción en elAWSCloud, que ayuda a aumentar la velocidad y la frecuencia del ciclo de vida de desarrollo. Se integra con IAM y se puede utilizar con otrosAWSservicios y en paralelo con otros repositorios. Para obtener más información, consulte Integraciones de productos y servicios con AWS CodeCommit.

  • Migrar fácilmente archivos desde otros repositorios remotos. Puede migrar a CodeCommit desde cualquier repositorio basado en Git.

  • Usar las herramientas Git que ya conoce. CodeCommit admite los comandos de Git y los suyos propiosAWS CLIcomandos y API.

CodeCommit, Git y elegir el correctoAWSservicio para sus necesidades

Como servicio basado en Git, CodeCommit se adapta perfectamente a la mayoría de las necesidades de control de versiones. No hay límites arbitrarios en el tamaño de archivo, el tipo de archivo y el tamaño de repositorio. Sin embargo, existen limitaciones inherentes a Git que pueden afectar negativamente al rendimiento de ciertos tipos de operaciones, en concreto a lo largo del tiempo. Puede evitar la degradación potencial del rendimiento del repositorio de CodeCommit evitando utilizarlo para casos de uso en los que otros usuarios deAWSlos servicios se adaptan mejor a la tarea. También puede optimizar el rendimiento de Git para repositorios complejos. A continuación se indican algunos casos de uso en los que Git y, por lo tanto, CodeCommit, podría no ser la mejor solución para usted, o en los que podría necesitar adoptar medidas adicionales para la optimización para Git.

Caso de uso Descripción Otros servicios que tener en cuenta
Archivos grandes que cambian con frecuencia Git utiliza codificación delta para almacenar las diferencias entre las versiones de los archivos. Por ejemplo, si cambia unas pocas palabras de un documento, Git solo almacenará las palabras cambiadas. Si tiene archivos u objetos de más de 5 MB con muchos cambios, Git podría necesitar reconstruir una gran cadena de diferencias delta. Esto puede consumir una cantidad cada vez mayor de recursos informáticos tanto en el equipo local como en CodeCommit a medida que estos archivos crezcan con el tiempo. Para realizar versiones de archivos grandes, tenga en cuenta Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulteUso del control de versionesen laAmazon Simple Storage Service Storage Service.
Base de datos Los repositorios de Git crecen con el tiempo. Debido a que el control de versiones realiza un seguimiento de todos los cambios, cualquier modificación aumentará el tamaño del repositorio. En otras palabras, a medida que confirma datos, incluso si borra datos en una confirmación, los datos se añaden a un repositorio. A medida que haya más datos para procesar y transmitir con el tiempo, Git se ralentizará. Esto es especialmente perjudicial en un caso de uso de base de datos. Git no se diseñó como una base de datos. Para crear y utilizar una base de datos con un rendimiento constante, independientemente del tamaño, tenga en cuenta Amazon DynamoDB. Para obtener más información, consulte laAmazon DynamoDB Guía de introducción.
Registros de seguimiento de auditoría Normalmente, los registros de seguimiento de auditoría se conservan durante largos períodos de tiempo y se generan continuamente mediante procesos del sistema con una cadencia muy frecuente. Git se diseñó para almacenar de forma segura el código fuente generado por grupos de desarrolladores en un ciclo de desarrollo. Los repositorios que cambian rápidamente y que almacenan continuamente cambios en el sistema generados por programación verán degradado su rendimiento con el tiempo. Para almacenar los registros de auditoría, tenga en cuenta Amazon Simple Storage Service (Amazon S3).

Para auditarAWS, dependiendo de su caso de uso, considere el uso deAWS CloudTrail,AWS Config, o bienAmazon CloudWatch.

Copias de seguridad Git se diseñó para el control de versiones del código fuente escrito por desarrolladores. Puedepush commits en dos repositorios remotos, incluido un repositorio de CodeCommit, como estrategia de copia de seguridad. Sin embargo, Git no se diseñó para gestionar las copias de seguridad del sistema de archivos de su equipo, volcados de bases de datos o contenido de copia de seguridad similar. Si se hiciera, podría ralentizar el sistema y aumentar el tiempo necesario para clonar y enviar un repositorio. Para obtener información sobre cómo realizar copias de seguridad en la nube de AWS, consulte Copia de seguridad y restauración.
Gran cantidad de ramificaciones o referencias Cuando un cliente Git envía datos al repositorio o extrae datos de él, el servidor remoto debe enviar todas las ramificaciones y referencias, tales como etiquetas, incluso si solo le interesa una sola ramificación. Si tiene miles de ramificaciones y referencias, puede tardar tiempo en el proceso y el envío (negociación de paquetes) y producir una respuesta aparentemente lenta del repositorio. Cuantas más ramificaciones y etiquetas tenga, más tiempo tardará este proceso. Recomendamos que use CodeCommit, pero elimine las ramificaciones y etiquetas que ya no sean necesarias. Para analizar el número de referencias en un repositorio de CodeCommit para determinar qué puede no ser necesario, puede utilizar uno de los siguientes comandos:
  • Emulador de Linux, macOS, Unix, o Bash en Windows:

    git ls-remote | wc -l
  • Powershell:

    git ls-remote | Measure-Object -line

¿Cómo funciona CodeCommit?

CodeCommit es familiar para los usuarios de repositorios basados en Git, pero incluso aquellos que los desconozcan deberían encontrar la transición a CodeCommit relativamente sencilla. CodeCommit proporciona una consola para la creación fácil de repositorios y la elaboración de listas de los repositorios y ramificaciones existentes. En unos sencillos pasos, los usuarios pueden encontrar información acerca de un repositorio y clonarlo en su equipo, creando un repositorio local en el que pueden realizar cambios y, a continuación, enviarlos al repositorio de CodeCommit. Los usuarios pueden trabajar desde la línea de comandos en sus máquinas locales o utilizar un editor basado en GUI.

La siguiente figura muestra cómo utilizar el equipo de desarrollo, elAWS CLIo la consola CodeCommit y el servicio CodeCommit para crear y administrar repositorios:


        Flujo de trabajo CodeCommit

  1. UsarAWS CLIo la consola de CodeCommit para crear un repositorio de CodeCommit.

  2. Desde el equipo de desarrollo, use Git para ejecutargit clone, especificando el nombre del repositorio de CodeCommit. Esto crea un repositorio local que se conecta al repositorio CodeCommit.

  3. Utilice el repositorio local de su equipo de desarrollo para modificar (añadir, editar y eliminar) archivos y, a continuación, ejecutegit addpara organizar los archivos modificados localmente. Ejecución degit commitpara confirmar los archivos localmente y, a continuación, ejecutegit pushpara enviar los archivos al repositorio de CodeCommit.

  4. Descargue los cambios de otros usuarios. Ejecución degit pullpara sincronizar los archivos del repositorio de CodeCommit con el repositorio local. De este modo, se asegura de que trabaja con la versión más reciente de los archivos.

Puede utilizar elAWS CLIo la consola de CodeCommit para realizar un seguimiento y gestionar los repositorios.

¿En qué se diferencia CodeCommit del versionado de archivos en Amazon S3?

CodeCommit está optimizado para el desarrollo de software en equipo. Gestiona lotes de cambios en varios archivos, cosa que puede realizarse en paralelo con los cambios realizados por otros desarrolladores. El control de versiones de Amazon S3 admite la recuperación de versiones pasadas de archivos, pero no se centra en las características de seguimiento de archivos colaborativas que necesitan los equipos de desarrollo de software.

¿Cómo puedo comenzar a utilizar CodeCommit?

Para comenzar a utilizar CodeCommit:

  1. Siga los pasos que se detallan en Configuración para preparar los equipos de desarrollo.

  2. Siga los pasos que se detallan en uno o más de los tutoriales de Introducción.

  3. Crearproyectos de control de versiones en CodeCommit omigrateproyectos de control de versiones para CodeCommit.

¿Dónde puedo obtener más información sobre Git?

Si no conoce Git todavía, debe aprender a utilizar Git. A continuación encontrará algunos recursos útiles:

  • Pro Git es una versión online del libro Pro Git escrito por Scott Chacon y publicado por Apress.

  • Git Immersion es una visita guiada interactiva que muestra los conceptos básicos de trabajar con Git publicada por Neo Innovation, Inc.

  • Git Reference es una referencia rápida online que también puede usarse como tutorial en profundidad sobre Git publicado por el equipo de GitHub.

  • Git Cheat Sheet incluye la sintaxis de comandos de Git básicos publicado por el equipo de GitHub.

  • Git Pocket Guide escrita por Richard E. Silverman. Publicada por O'Reilly Media, Inc.