AWS CodeCommit ya no está disponible para nuevos clientes. Los clientes existentes de AWS CodeCommit pueden seguir utilizando el servicio con normalidad. Más información
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.
Migrar un repositorio de Git a AWS CodeCommit
Puede migrar un repositorio de Git existente a un repositorio de CodeCommit. Los procedimientos incluidos en este tema muestran cómo migrar a CodeCommit un proyecto que se aloja en otro repositorio Git. Como parte de este proceso:
-
Completará la configuración inicial necesaria para CodeCommit
-
Creará un repositorio de CodeCommit.
-
Clonará el repositorio y lo enviará a CodeCommit
-
Visualizará los archivos en el repositorio de CodeCommit.
-
Compartirá el repositorio de CodeCommit con su equipo.
Temas
Paso 0: Configuración necesaria para acceder a CodeCommit
Antes de migrar un repositorio a CodeCommit, deberá crear y configurar un usuario de IAM para CodeCommit y configurar el equipo local para el acceso. También deberá instalar la AWS CLI para administrar CodeCommit. Aunque puede realizar la mayoría de las tareas de CodeCommit sin la AWS CLI, esta ofrece flexibilidad a la hora de trabajar con Git en la línea de comandos o el terminal.
Si ya ha realizado las configuraciones necesarias para CodeCommit, puede pasar directamente a Paso 1: Crear un repositorio de CodeCommit.
Para crear y configurar un usuario de IAM para obtener acceso a CodeCommit
Para crear una cuenta de Amazon Web Services, acceda a http://aws.amazon.com
y seleccione Registrarse. Cree un usuario de IAM o use uno existente en su cuenta de Amazon Web Services. Asegúrese de que tiene un ID de clave de acceso y una clave de acceso secreta asociados a ese usuario de IAM. Para obtener más información, consulte Creación de un usuario de IAM en su cuenta de Amazon Web Services.
nota
CodeCommit requiere AWS Key Management Service. Si está usando un usuario de IAM existente, asegúrese de que no haya directivas asociadas al usuario que denieguen expresamente las acciones de AWS KMS requeridas por CodeCommit. Para obtener más información, consulte AWS KMS y cifrado.
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En la consola de IAM, en el panel de navegación, seleccione Usuarios y, a continuación haga clic en el usuario de IAM que desee configurar para el acceso a CodeCommit.
En la pestaña Permissions, seleccione Add Permissions.
-
En Grant permissions, elija Attach existing policies directly.
En la lista de políticas, seleccione AWSCodeCommitPowerUser u otra política administrada para obtener acceso a CodeCommit. Para obtener más información, consulte AWS políticas gestionadas para CodeCommit.
Una vez que haya seleccionado la política que desee asociar, seleccione Siguiente: Revisar para revisar la lista de políticas que se van a asociar al usuario de IAM. Si la lista es correcta, seleccione Add permissions.
Para obtener más información sobre las políticas administradas de CodeCommit y cómo compartir el acceso a los repositorios con otros grupos y usuarios, consulte Compartir un repositorio y Autenticación y control de acceso de AWS CodeCommit.
Para instalar y configurar la AWS CLI
-
En el equipo local, descargue e instale la AWS CLI. Se trata de un requisito previo para interactuar con CodeCommit en la línea de comandos. Le recomendamos que instale la versión 2 de AWS CLI. Es la versión principal más reciente de la AWS CLI y es compatible con todas las características más recientes. Es la única versión de la AWS CLI que admite el uso de una cuenta raíz, un acceso federado o credenciales temporales con git-remote-codecommit.
Para obtener más información, consulte Instalación de la interfaz de la línea de comandos de AWS.
nota
CodeCommit solo funciona con las versiones 1.7.38 y posteriores de AWS CLI. Como práctica recomendada, instale o actualice la AWS CLI a la versión más reciente disponible. Para determinar qué versión de la AWS CLI tiene instalada, ejecute el comando aws --version.
Para actualizar una versión anterior de la AWS CLI a la última versión, consulte Instalación de la AWS Command Line Interface.
-
Ejecute este comando para comprobar que se han instalado los comandos de CodeCommit para la AWS CLI.
aws codecommit help
Este comando devuelve una lista de comandos de CodeCommit.
-
Configure la AWS CLI con un perfil mediante el comando configure, como se indica a continuación:
aws configure
Cuando se le solicite, especifique las claves de acceso de AWS y la clave de acceso secreta de AWS del usuario de IAM que usar con CodeCommit. Asegúrese también de especificar la Región de AWS donde se encuentra el repositorio como, por ejemplo,
us-east-2
. Cuando se le pregunte el formato de salida predeterminado, indiquejson
. Por ejemplo, si está configurando un perfil para un usuario de IAM:AWS Access Key ID [None]:
Type your IAM user AWS access key ID here, and then press Enter
AWS Secret Access Key [None]:Type your IAM user AWS secret access key here, and then press Enter
Default region name [None]:Type a supported region for CodeCommit here, and then press Enter
Default output format [None]:Type
jsonhere, and then press Enter
Para obtener más información acerca de la creación y configuración de perfiles para utilizarlos con la AWS CLI, consulte lo siguiente:
Para conectarse a un repositorio o a un recurso en otra Región de AWS, debe volver a configurar la AWS CLI con el nombre de la región predeterminada. Entre los nombres de las regiones predeterminadas de CodeCommit compatibles se incluyen:
-
us-east-2
-
us-east-1
-
eu-west-1
-
us-west-2
-
ap-northeast-1
-
ap-southeast-1
-
ap-southeast-2
-
ap-southeast-3
-
me-central-1
-
eu-central-1
-
ap-northeast-2
-
sa-east-1
-
us-west-1
-
eu-west-2
-
ap-south-1
-
ap-south-1
-
ca-central-1
-
us-gov-oeste-1
-
us-gov-este-1
-
eu-north-1
ap-east-1
me-south-1
cn-north-1
cn-northwest-1
eu-south-1
ap-northeast-3
af-south-1
il-central-1
Para obtener más información sobre Región de AWS y CodeCommit, consulte Regiones y puntos de conexión de Git. Para obtener más información sobre IAM, claves de acceso y claves secretas, consulte ¿Cómo puedo obtener credenciales? y Gestión de claves de acceso para usuarios de IAM Para obtener más información sobre la AWS CLI y los perfiles, consulte Perfiles con nombre.
-
A continuación, deberá instalar Git.
-
Para Linux, macOS o Unix:
Para trabajar con archivos, confirmaciones y otra información en los repositorios de CodeCommit, debe instalar Git en su equipo local. CodeCommit admite las versiones de Git 1.7.9 y posteriores. La versión 2.28 de Git admite la configuración del nombre de la ramificación para las confirmaciones iniciales. Recomendamos usar una versión reciente de Git.
Para instalar Git, le recomendamos sitios web como Git Downloads
. nota
Git es una plataforma en evolución que se actualiza periódicamente. En ocasiones, un cambio en una característica podría afectar a la forma en que trabaja con CodeCommit. Si experimenta problemas con una versión específica de Git y CodeCommit, consulte la información de Resolución de problemas.
-
Para Windows:
Para trabajar con archivos, confirmaciones y otra información en los repositorios de CodeCommit, debe instalar Git en su equipo local. CodeCommit admite las versiones de Git 1.7.9 y posteriores. La versión 2.28 de Git admite la configuración del nombre de la ramificación para las confirmaciones iniciales. Recomendamos usar una versión reciente de Git.
Para instalar Git, le recomendamos sitios web como Git for Windows
. Si utiliza este enlace para instalar Git, puede aceptar todos los ajustes predeterminados de la instalación excepto los siguientes: Cuando se le pida durante el paso Ajustar su entorno PATH, seleccione la opción de usar Git desde la línea de comandos.
(Opcional) Si pretende usar HTTPS con el ayudante de credenciales que viene incluido en AWS CLI en lugar de configurar las credenciales de Git para CodeCommit, en la página Configuración de opciones adicionales, asegúrese de que la opción Habilitar el administrador de credenciales de Git esté desactivada. El administrador de credenciales de Git solo es compatible con CodeCommit si los usuarios de IAM configuran las credenciales de Git. Para más información, consulte Para usuarios HTTPS mediante credenciales de Git y Git para Windows: he instalado Git para Windows, pero no tengo permiso para acceder a mi repositorio (403).
nota
Git es una plataforma en evolución que se actualiza periódicamente. En ocasiones, un cambio en una característica podría afectar a la forma en que trabaja con CodeCommit. Si experimenta problemas con una versión específica de Git y CodeCommit, consulte la información de Resolución de problemas.
CodeCommit admite la autenticación de HTTPS y SSH. Para completar la configuración, debe definir las credenciales de Git para CodeCommit (HTTPS, recomendado para la mayoría de los usuarios), un par de claves SSH para acceder a CodeCommit, git-remote-codecommit (recomendado para los usuarios que utilizan el acceso federado) o la aplicación ayudante de credenciales incluida en la AWS CLI (HTTPS).
-
Para las credenciales de Git en todos los sistemas operativos compatibles, consulte Paso 3: Crear credenciales de Git para las conexiones HTTPS a CodeCommit.
-
Para SSH en Linux, macOS o Unix, consulte SSH y Linux, macOS o Unix: configure las claves públicas y privadas de Git y CodeCommit.
-
Para SSH en Windows, consulte Paso 3: Configurar las claves públicas y privadas para Git y CodeCommit.
-
Para git-remote-codecommit, consulte Pasos de configuración para conexiones HTTPS a AWS CodeCommit con git-remote-codecommit.
-
Para ver el ayudante de credenciales en Linux, macOS o Unix, consulte Configurar el ayudante de credenciales (Linux, macOS o Unix).
-
Para el auxiliar de credenciales en Windows, consulte Configuración del auxiliar de credenciales (Windows).
Paso 1: Crear un repositorio de CodeCommit
En esta sección, utiliza la consola de CodeCommit para crear el repositorio de CodeCommit que se utiliza en lo que queda de tutorial. Para utilizar la AWS CLI para crear el repositorio, consulte Creación de un repositorio (AWS CLI).
Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home
. -
En la selección de regiones, seleccione la Región de AWS en la que desea crear el repositorio. Para obtener más información, consulte Regiones y puntos de conexión de Git.
-
En la página Repositorios, seleccione Crear repositorio.
-
En la página Create repository (Crear repositorio), en el campo Repository name (Nombre de repositorio), escriba un nombre para el repositorio.
nota
Los nombres de repositorio distinguen entre mayúsculas y minúsculas. El nombre debe ser único en la Región de AWS y de su cuenta de Amazon Web Services.
-
(Opcional) En Descripción, introduzca una descripción para el repositorio. Esto puede ayudarle a usted y a otros usuarios a conocer el propósito del repositorio.
nota
El campo de descripción muestra Marcado en la consola y acepta todos los caracteres HTML y caracteres Unicode válidos. Si es un desarrollador de aplicaciones que utiliza
GetRepository
o las API deBatchGetRepositories
y tiene pensado mostrar el campo de descripción del repositorio en un navegador web, consulte la Referencia de la API de CodeCommit. -
(Opcional) Elija Add tag (Añadir etiqueta) para añadir una o más etiquetas de repositorio (una etiqueta de atributo personalizada que le ayuda a organizar y administrar sus recursos de AWS) a su repositorio. Para obtener más información, consulte Etiquetar repositorios en AWS CodeCommit.
-
(Opcional) Amplíe Configuración adicional para especificar si desea utilizar la Clave administrada de AWS predeterminada o la suya propia administrada por el cliente para cifrar y descifrar los datos de este repositorio. Si decide utilizar su propia clave gestionada por el cliente, debe asegurarse de que esté disponible en la Región de AWS lugar donde vaya a crear el repositorio y de que la clave esté activa. Para obtener más información, consulte AWS Key Management Service y cifrado de repositorios de AWS CodeCommit.
-
(Opcional) Seleccione Activar el revisor de Amazon CodeGuru para Java y Python si este repositorio contiene código de Java o Python y desea que el revisor de CodeGuru lo analice. El revisor de CodeGuru utiliza varios modelos de machine learning para encontrar defectos en el código y sugerir mejoras y correcciones en las solicitudes de cambios. Para más información, consulte la guía de usuario del revisor de Amazon CodeGuru.
-
Seleccione Crear.
Una vez creado, el repositorio aparece en la lista Repositories (Repositorios). En la columna URL, seleccione el icono de copia y, a continuación, elija el protocolo (SSH o HTTPS) que se utiliza para conectar a CodeCommit. Copie la dirección URL.
Por ejemplo, si el nombre de su repositorio es MyClonedRepository
y utiliza las credenciales de Git con HTTPS en la región este de EE. UU. (Ohio), la URL tiene un aspecto similar al siguiente:
https
://git-codecommit.us-east-2.amazonaws.com/MyClonedRepository
Necesita esta URL más adelante en Paso 2: Clonar el repositorio y enviarlo al repositorio de CodeCommit.
Paso 2: Clonar el repositorio y enviarlo al repositorio de CodeCommit
En esta sección, clona un repositorio Git en el equipo local, lo que dará lugar a lo que se denomina un repositorio local. A continuación, envíe el contenido del repositorio local al repositorio de CodeCommit creado anteriormente.
-
Desde el terminal o el símbolo del sistema en su equipo local, ejecute el comando git clone con la opción
--mirror
para clonar una copia vacía del repositorio remoto en una nueva carpeta con el nombreaws-codecommit-demo
. Se trata de un repositorio vacío concebido solamente para la migración. No es el repositorio local para interacción con el repositorio migrado en CodeCommit. Puede crearlo más adelante, después de que se haya completado la migración a CodeCommit.En el siguiente ejemplo se clona una aplicación de demostración alojada en GitHub (
https://github.com/awslabs/aws-demo-php-simple-app.git
) en un repositorio local en un directorio denominadoaws-codecommit-demo
.git clone --mirror
https://github.com/awslabs/aws-demo-php-simple-app.git
aws-codecommit-demo
-
Cambie los directorios por el directorio en el que ha realizado la clonación.
cd
aws-codecommit-demo
-
Ejecute el comando git push y especifique la URL y el nombre del repositorio de destino de CodeCommit y la opción --all. (Esta es la URL que copió en Paso 1: Crear un repositorio de CodeCommit).
Por ejemplo, si el nombre de su repositorio es
MyClonedRepository
y tiene fijada la opción para utilizar HTTPS, ejecutaría el siguiente comando:git push
https
://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository
--allnota
La opción --all solo envía todas las ramificaciones al repositorio. No envía otras referencias, como, por ejemplo, etiquetas. Si desea enviar etiquetas, espere hasta que se haya completado el envío inicial y, a continuación, envíe de nuevo, esta vez con la opción --tags.
git push ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/
MyClonedRepository
--tagsPara obtener más información, consulte Git push
en el sitio web de Git. Para obtener más información sobre el envío de grandes repositorios, especialmente cuando se envían todas las referencias a la vez (por ejemplo, con la opción --mirror), consulte Migrar de forma incremental un repositorio.
Puede eliminar la carpeta aws-codecommit-demo
y su contenido después de migrar el repositorio a CodeCommit. Para crear un repositorio local que contenga todas las referencias correctas para trabajar con el repositorio en CodeCommit, ejecute el comando git clone
sin la opción --mirror
:
git clone
https
://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository
Paso 3: Visualizar archivos en CodeCommit
Después de enviar el contenido de su directorio, puede utilizar la consola de CodeCommit para ver rápidamente todos los archivos de ese repositorio.
-
Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home
. -
En Repositories (Repositorios) elija el nombre del repositorio (por ejemplo,
MyClonedRepository
). -
Vea los archivos del repositorio para las ramificaciones, las URL de clonación, la configuración y mucho más.
Paso 4: Compartir el repositorio de CodeCommit
Al crear un repositorio en CodeCommit, se generan dos puntos de conexión: uno para conexiones HTTPS y otro para conexiones SSH. Ambas proporcionan conexiones seguras a través de una red. Los usuarios pueden utilizar cualquiera de los dos protocolos. Ambos puntos de enlace permanecen activos, independientemente del protocolo que recomiende a los usuarios. Antes de poder compartir sus repositorios con otros usuarios, debe crear políticas de IAM que permitan a otros usuarios acceder a su repositorio. Proporcione las instrucciones de acceso a sus usuarios.
Creación de una política administrada por el cliente para su repositorio
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el área de navegación Dashboard, elija Policies y, a continuación, seleccione Create Policy.
-
En la página Crear política, seleccione Importar política administrada.
-
En la página Importar políticas administradas, en Filtrar políticas, introduzca
AWSCodeCommitPowerUser
. Seleccione el botón situado junto al nombre de la política y, a continuación, seleccione Importar. -
En la página Crear política, elija JSON. Sustituya la parte «*» de la línea
Resource
para las acciones de CodeCommit por el nombre de recurso de Amazon (ARN) del repositorio de CodeCommit, como se muestra aquí:"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
sugerencia
Para encontrar el ARN del repositorio de CodeCommit, vaya a la consola de CodeCommit y seleccione el nombre del repositorio de la lista y seleccione Ajustes. Para obtener más información, consulte Visualización de la información de los repositorios.
Si desea que esta política se aplique a más de un repositorio, añada cada repositorio como recurso y especifique su ARN. Añada una coma entre cada declaración de recursos, tal y como se muestra aquí:
"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]
Cuando haya terminado de editar, seleccione Revisar la política.
-
En la página Revisar la política, en Nombre, introduzca un nombre para la política (por ejemplo,
AWSCodeCommitPowerUser-MyDemoRepo
). Opcionalmente, puede proporcionar una descripción opcional para esta política. -
Elija Create Policy (Crear política).
Para administrar el acceso a su repositorio, cree un grupo para los usuarios de IAM, añada usuarios de IAM a este grupo y adjunte la política administrada por el cliente que haya creado en el paso anterior. Adjunte cualquier otra política necesaria para el acceso, como, por ejemplo, IAMUserSSHKeys o IAMSelfManageServiceSpecificCredentials.
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el área de navegación Dashboard, elija Groups y, a continuación, seleccione Create New Group.
-
En la página Establecer el nombre del grupo, en Nombre del grupo, introduzca un nombre para el grupo (por ejemplo,
MyDemoRepoGroup
) y seleccione Siguiente paso. Tenga en cuenta la posibilidad de incluir el nombre del repositorio como parte del nombre del grupo.nota
Este nombre debe ser exclusivo de una cuenta de Amazon Web Services.
-
Seleccione la casilla situada junto a la política administrada por el cliente que haya creado en la sección anterior (por ejemplo, AWSCodeCommitPowerUser-MyDemoRepo).
-
En la página Review, elija Create Group. IAM crea este grupo con las políticas especificadas ya adjuntas. El grupo aparece en la lista de grupos asociados con su cuenta de Amazon Web Services.
-
Seleccione su grupo de la lista.
-
En la página de resumen de grupo, elija la pestaña Users y, continuación, seleccione Add Users to Group. En la lista en la que se muestran todos los usuarios asociados con la cuenta de Amazon Web Services, seleccione las casillas situadas junto a los usuarios a quienes desee permitir el acceso al repositorio de CodeCommit y haga clic en Añadir usuarios.
sugerencia
Puede usar el cuadro de búsqueda para encontrar rápidamente a los usuarios por su nombre.
-
Cuando haya agregado sus usuarios, cierre la consola de IAM.
Una vez que haya creado un usuario de IAM para acceder a CodeCommit con el grupo de políticas y las políticas que ha configurado, envíe a dicho usuario la información necesaria para conectar al repositorio.
-
Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home
. -
En el selector de regiones, seleccione la región en la que se creó el repositorio de Región de AWS. Cada Región de AWS tiene sus propios repositorios. Para obtener más información, consulte Regiones y puntos de conexión de Git.
-
En la página Repositories (Repositorios), elija el repositorio que desea compartir.
-
En Clone URL (URL de clonación), elija el protocolo que desee que utilicen los usuarios. Esto copiará la URL de clonación del protocolo de conexión.
-
Envíe a los usuarios la URL de conexión junto con cualquier otra instrucción, como la instalación de la AWS CLI, la configuración de un perfil o la instalación de Git. Asegúrese de incluir la información de configuración para el protocolo de conexión (por ejemplo, HTTPS).