AWS CodeCommit ya no está disponible para nuevos clientes. Los clientes actuales de AWS CodeCommit pueden seguir utilizando el servicio con normalidad. Más información
- Herramientas para desarrolladores›
- AWS CodeCommit›
- Preguntas frecuentes
Preguntas frecuentes sobre AWS CodeCommit
Temas de la página
Aspectos generalesAspectos generales
¿Qué es AWS CodeCommit?
AWS CodeCommit es un servicio de control de código fuente seguro, administrado y con alta escalabilidad que facilita la colaboración de los equipos en el código. Con AWS CodeCommit no necesita operar un sistema de control de código fuente propio ni preocuparse por el escalado de la infraestructura de dicho sistema. AWS CodeCommit, que funciona perfectamente con las herramientas de Git existentes, se puede utilizar para almacenar cualquier elemento, ya sea código o binarios.
¿Qué es Git?
Git es un sistema de control de versiones distribuido y de código abierto. Para trabajar con repositorios de AWS CodeCommit se utiliza la interfaz de línea de comandos (CLI) de Git o cualquiera de los clientes de Git disponibles. Para obtener más información sobre Git, consulte la documentación de Git. Para obtener más información sobre el uso de AWS CodeCommit con Git, consulte Introducción a AWS CodeCommit.
¿Quién debe utilizar AWS CodeCommit?
AWS CodeCommit se ha diseñado para desarrolladores de software que necesitan un sistema de control de código fuente seguro, fiable y escalable para almacenar y versionar el código. Además, AWS CodeCommit está disponible para cualquiera que busque un almacenamiento de datos totalmente administrado y sencillo de usar con control de versiones. Por ejemplo, los administradores de TI pueden utilizar AWS CodeCommit para almacenar sus scripts y configuraciones. Los diseñadores web pueden utilizar AWS CodeCommit para almacenar imágenes y páginas HTML.
¿En qué se diferencia AWS CodeCommit de otros sistemas de control de código fuente basados en Git?
AWS CodeCommit ofrece una serie de características que no ofrecen otros sistemas de control de código fuente de Git:
- Totalmente administrado – AWS CodeCommit elimina la necesidad de hospedar, mantener, realizar backups y escalar servidores de control de recursos propios.
- Seguro: AWS CodeCommit cifra automáticamente los archivos en tránsito y en reposo. AWS CodeCommit está integrado en AWS Identity and Access Management (IAM), de modo que puede asignar permisos específicos de usuario a los repositorios.
- Alta disponibilidad – AWS CodeCommit se basa en servicios de AWS de alta escalabilidad, redundancia y durabilidad como Amazon S3 y Amazon DynamoDB.
- Escalable: AWS CodeCommit le permite almacenar cualquier cantidad de archivos y no hay ningún límite de tamaño para los repositorios.
- Ciclo de vida de desarrollo más rápido – AWS CodeCommit mantiene los repositorios cerca de los entornos de compilación, puesta en marcha y producción en la nube de AWS. Esto le permite aumentar la velocidad y la frecuencia del ciclo de vida de desarrollo.
¿En qué se diferencia AWS CodeCommit de un bucket de S3 con versiones?
AWS CodeCommit se ha diseñado para el desarrollo colaborativo del software. Administra lotes de cambios en varios archivos, permite la creación de ramificaciones paralelas e incluye diferenciación de versiones. En comparación, el control de versiones de Amazon S3 soporta la recuperación de versiones pasadas de archivos individuales, pero no soporta el seguimiento de cambios en lotes que abarcan varios archivos u otras características necesarias para el desarrollo de software colaborativo.
Uso de AWS CodeCommit
¿Cómo puedo comenzar a utilizar AWS CodeCommit?
Puede iniciar sesión en la consola de administración de AWS, crear un repositorio y comenzar a utilizarlo con Git. Si desea ver una introducción rápida del servicio, consulte Introducción, que incluye un tutorial paso a paso.
¿Cómo puedo crear un repositorio?
Puede crear un repositorio desde la consola de administración de AWS o mediante la interfaz de la línea de comandos de AWS (AWS CLI), los SDK de AWS o las API de AWS CodeCommit.
¿Cómo puedo actualizar los archivos del repositorio?
Puede editar los archivos directamente desde la consola de CodeCommit o bien puede usar Git para trabajar con el repositorio. Como ejemplo de comando de Git, puede usar el comando git clone para realizar una copia local del repositorio de AWS CodeCommit. Realice cambios en los archivos locales y utilice el comando git commit cuando tenga todo listo para guardar los cambios. Por último, utilice el comando git push para cargar los cambios en el repositorio de AWS CodeCommit. Para ver instrucciones paso a paso, consulte Introducción a AWS CodeCommit.
¿Cómo puedo importar el repositorio existente a AWS CodeCommit?
Puede utilizar Git para importar cualquier repositorio de Git existente a AWS CodeCommit. Para otros repositorios, como Subversion y Perforce, puede utilizar un importador de Git para migrarlos primero a un repositorio de Git. Para ver instrucciones paso a paso sobre la importación de repositorios de Git, consulte Migrar un repositorio existente a AWS CodeCommit. Para ver instrucciones paso a paso sobre la importación de contenido local o sin versionar, consulte la documentación de migración a Git.
¿Qué operaciones de Git admite actualmente AWS CodeCommit?
AWS CodeCommit actualmente soporta los comandos clone, pull, push y fetch.
¿Admite AWS CodeCommit los submódulos de Git?
Sí. AWS CodeCommit se puede utilizar con repositorios de Git que incluyen submódulos.
¿Cuáles son los límites del servicio al utilizar AWS CodeCommit?
Para obtener información sobre los límites del servicio, consulte Límites.
¿Cuál es el tamaño máximo de un archivo individual que puedo almacenar en CodeCommit?
Un archivo único en un repositorio no puede tener más de 2 GB de tamaño.
¿Cómo puedo realizar una copia de seguridad del repositorio?
Si tiene una copia local del repositorio creada mediante un comando git clone completo, puede utilizarla para recuperar datos. Si desea realizar copias de seguridad adicionales, existen numerosas formas de hacerlo. Una de ellas consiste en instalar Git en el servidor de copia de seguridad y ejecutar un trabajo programado que utilice el comando git clone para realizar instantáneas periódicas del repositorio. Si solo desea copiar los cambios incrementales, puede utilizar git pull en lugar de git clone. Tenga en cuenta que estas operaciones pueden ocasionar cargos por usuarios o solicitudes adicionales, en función de su configuración del servidor de copia de seguridad y la frecuencia de sondeo.
¿Cómo puedo restablecer un repositorio de AWS CodeCommit eliminado?
La eliminación de un repositorio de AWS CodeCommit es una operación de destrucción unidireccional que no se puede deshacer. Para restablecer un repositorio eliminado, deberá volver a crear el repositorio y utilizar un backup o una copia local desde un clonado completo para cargar los datos. Se recomienda el uso de políticas de IAM junto con la protección mediante MFA para limitar qué usuarios pueden eliminar repositorios. Para obtener más detalles, consulte la pregunta ¿Puedo utilizar AWS Identity and Access Management (IAM) para administrar el acceso a AWS CodeCommit? en la sección de Seguridad, dentro de Preguntas frecuentes.
¿Cómo puedo administrar las revisiones del código con AWS CodeCommit?
CodeCommit admite revisiones del código y le permite establecer permisos sobre ramificaciones específicas de dicho código. Consulte nuestra documentación si precisa ayuda sobre las revisiones de código o los permisos de ramificaciones.
¿Cómo puedo integrar mi sistema de integración continua en AWS CodeCommit?
Los sistemas de integración continua (CI) se pueden configurar para extraer código de AWS CodeCommit mediante Git. Para obtener ejemplos del uso de sistemas CI con AWS CodeCommit, consulte nuestra entrada de blog sobre la integración de AWS CodeCommit con Jenkins.
¿Cómo puedo crear webhooks con AWS CodeCommit?
En la consola de Amazon SNS, puede crear un tema SNS con un punto de enlace HTTP y la URL que desee para el webhook. Entonces, desde la consola de AWS CodeCommit, puede configurar el tema SNS a un evento del repositorio mediante activadores. Además, los clientes que usan AWS Chatbot pueden configurar las notificaciones para enviarlas a sus canales de Slack o las salas de chat de Amazon Chime. Para obtener más detalles, haga clic aquí.
¿Puedo obtener un historial de todas las operaciones Git y llamadas a la API de AWS CodeCommit realizadas en mi cuenta para fines de análisis de seguridad y solución de problemas operativos?
Sí. Puede revisar los eventos de CodeCommit recientes, incluidas las operaciones Git y las llamadas a API, desde la consola de AWS CloudTrail. Si desea registrar de forma continua los eventos, puede crear un registro de seguimiento y registrar los eventos en un bucket de Amazon S3. Para obtener más información, consulte Registro de llamadas a la API de AWS CodeCommit con AWS CloudTrail.
Seguridad
¿Puedo utilizar AWS Identity and Access Management (IAM) para administrar el acceso a AWS CodeCommit?
Sí. AWS CodeCommit admite permisos a nivel de recursos. Para cada repositorio de AWS CodeCommit, puede especificar qué usuarios pueden realizar qué acciones. También puede exigir AWS Multi-Factor Authentication (MFA) para acciones de CodeCommit. Esto le permite añadir un nivel extra de protección frente a acciones destructivas como la eliminación de repositorios. Además de las API de AWS CodeCommit, también puede especificar git pull y git push como acciones para controlar el acceso desde clientes de Git. Por ejemplo, puede crear un usuario de solo lectura para un repositorio permitiendo a ese usuario obtener acceso a git pull pero no a git push en el repositorio. Para obtener más información sobre el uso de IAM con AWS CodeCommit, consulte Autenticación y control de acceso de AWS CodeCommit. Para obtener más información sobre la autenticación del acceso a API mediante MFA, consulte Configuración del acceso a una API protegido por MFA.
¿Qué protocolos de comunicación admite AWS CodeCommit?
Puede utilizar los protocolos HTTPS, SSH o ambos para comunicarse con AWS CodeCommit. Para utilizar HTTPS, instale primero la CLI de AWS. La interfaz de línea de comandos (CLI) de AWS instala un ayudante de credenciales de Git que se puede configurar con credenciales de AWS. Firma automáticamente todas las solicitudes HTTPS para AWS CodeCommit utilizando la especificación de firmas Signature Version 4. Para utilizar SSH, los usuarios crean pares de claves públicas y privadas propios y añaden las claves públicas a los usuarios de IAM. La clave privada cifra la comunicación con AWS CodeCommit. Para ver instrucciones paso a paso sobre cómo configurar el acceso a HTTPS y SSH, consulte la página de Configuración de AWS CodeCommit.
¿Qué puertos debo abrir en el firewall para tener acceso a AWS CodeCommit?
Deberá abrir el acceso saliente a un punto de enlace de servicio de AWS CodeCommit en el puerto 22 (SSH) o el puerto 443 (HTTPS).
¿Cómo puedo cifrar el repositorio en AWS CodeCommit?
Los repositorios se cifran automáticamente en reposo. El cliente no tiene que hacer nada. AWS CodeCommit utiliza AWS Key Management Service (KMS) para cifrar los repositorios. Cuando crea el primer repositorio, se crea una clave de CodeCommit administrada por AWS en la cuenta de AWS. Para obtener más detalles, consulte Cifrado para los repositorios de AWS CodeCommit.
¿Puedo habilitar el acceso entre cuentas en el repositorio?
Sí. Puede crear una función de IAM en la cuenta de AWS para delegar el acceso a un repositorio a los usuarios de IAM de otras cuentas de AWS. Los usuarios de IAM pueden posteriormente configurar la CLI de AWS para utilizar AWS Security Token Service (STS) y asumir el rol al ejecutar comandos. Para obtener más detalles, consulte Asumir un rol en la documentación de la CLI de AWS.
Regiones
¿Qué regiones admite AWS CodeCommit?
Consulte Productos y servicios por región para obtener más información sobre la disponibilidad de CodeCommit por región.
Facturación
¿Cuánto cuesta AWS CodeCommit?
AWS CodeCommit cuesta 1 USD por usuario activo al mes. Por cada usuario activo, la cuenta recibe 10 GB/mes de almacenamiento y 2 000 solicitudes de Git para ese mes. La asignación de almacenamiento y las solicitudes de Git no utilizadas no se pueden acumular para los meses siguientes. Si necesita más almacenamiento o solicitudes de Git para los usuarios, el uso adicional costará 0,06 USD por GB/mes y 0,001 USD por solicitud de Git. Los usuarios pueden almacenar tantos repositorios de Git como deseen. El uso se calcula cada mes en todas las regiones y se aplica automáticamente a la factura. Consulte la página de precios para obtener más detalles.
¿Cuál es la definición de un usuario activo en AWS CodeCommit?
Un usuario activo es cualquier identidad de AWS (usuario o rol de IAM, usuario federado o cuenta raíz) que obtiene acceso a los repositorios de AWS CodeCommit durante el mes, ya sea mediante solicitudes de Git o utilizando la consola de administración de AWS. Un servidor que obtiene acceso a CodeCommit con una identidad de AWS única cuenta como un usuario activo.
¿Qué solicitudes de Git se tienen en cuenta en la asignación mensual?
Una solicitud de Git incluye cualquier inserción o extracción que transmita objetos de repositorio. La solicitud no cuenta para el límite de solicitudes Git si no se produce transferencia de objetos debido a la actualización de las bifurcaciones locales y remotas.