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
Puedes migrar un repositorio de Git existente a un CodeCommit repositorio. 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:
-
Complete la configuración inicial requerida para CodeCommit.
-
Cree un CodeCommit repositorio.
-
Clona el repositorio y envíalo a CodeCommit.
-
Ver los archivos del CodeCommit repositorio.
-
Comparte el CodeCommit repositorio con tu equipo.
Temas
Paso 0: Se requiere la configuración para acceder a CodeCommit
Antes de poder migrar un repositorio a CodeCommit, debe crear y configurar un usuario de IAM CodeCommit y configurar su ordenador local para acceder a él. También deberá instalar la AWS CLI para administrar CodeCommit. Aunque puedes realizar la mayoría de CodeCommit las tareas sin él, AWS CLI ofrece flexibilidad a la hora de trabajar con Git en la línea de comandos o en la terminal.
Si ya estás configurado para CodeCommit, puedes pasar directamente aPaso 1: Crea un repositorio CodeCommit.
Para crear y configurar un usuario de IAM para acceder CodeCommit
Para crear una cuenta de Amazon Web Services, vaya 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 utilizas un usuario de IAM existente, asegúrate de que no haya políticas adjuntas al usuario que nieguen expresamente las AWS KMS acciones requeridas por CodeCommit él. Para obtener más información, consulte AWS KMS y cifrado.
Inicia sesión en Consola de administración de AWS y abre la consola de IAM en. https://console.aws.amazon.com/iam/
-
En la consola de IAM, en el panel de navegación, elija Usuarios y, a continuación, elija el usuario de IAM cuyo acceso desea configurar. 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 gestionada para CodeCommit acceder. Para obtener más información, consulte AWS políticas administradas 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 CodeCommit administradas y cómo compartir el acceso a los repositorios con otros grupos y usuarios, consulta Compartir un repositorio yAutenticación y control de acceso para AWS CodeCommit.
Para instalar y configurar el AWS CLI
-
En su máquina local, descargue e instale el AWS CLI. Este es un requisito previo para interactuar CodeCommit desde la línea de comandos. Le recomendamos que instale la versión 2 de AWS CLI . Es la versión principal más reciente del AWS CLI y admite todas las funciones 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 congit-remote-codecommit.
Para obtener más información, consulte Cómo configurar la interfaz de línea de AWS comandos.
nota
CodeCommit solo funciona con AWS CLI las versiones 1.7.38 y posteriores. Como práctica recomendada, instale o actualice AWS CLI a la última versión disponible. Para determinar qué versión AWS CLI tiene instalada, ejecute el aws --version comando.
Para actualizar una versión anterior del AWS CLI a la versión más reciente, consulte Instalación del AWS Command Line Interface.
-
Ejecute este comando para comprobar que los CodeCommit comandos correspondientes a AWS CLI están instalados.
aws codecommit helpEste comando devuelve una lista de CodeCommit comandos.
-
Configure el AWS CLI con un perfil mediante el configure comando, de la siguiente manera:.
aws configureCuando se le solicite, especifique la clave de AWS acceso y la clave de acceso AWS secreta del usuario de IAM con CodeCommit el que se va a utilizar. Además, asegúrese de especificar Región de AWS dónde se encuentra el repositorio, por ejemplo.
us-east-2Cuando 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 EnterAWS Secret Access Key [None]:Type your IAM user AWS secret access key here, and then press EnterDefault region name [None]:Type a supported region for CodeCommit here, and then press EnterDefault output format [None]:Typejsonhere, and then press EnterPara obtener más información sobre la creación y configuración de perfiles para usarlos con el AWS CLI, consulte lo siguiente:
Para conectarse a un repositorio o a un recurso de otro Región de AWS, debe volver a configurarlo AWS CLI con el nombre de región predeterminado. Los nombres de región predeterminados compatibles CodeCommit 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-west-1
-
us-gov-east-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 CodeCommit y Región de AWS, consulteRegiones 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 los perfiles AWS CLI y, consulte Perfiles con nombre asignado.
-
A continuación, deberá instalar Git.
-
Para Linux, macOS o Unix:
Para trabajar con los archivos, las confirmaciones y otra información de CodeCommit los repositorios, debes instalar Git en tu máquina local. CodeCommit es compatible con las versiones 1.7.9 y posteriores de Git. 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 función puede afectar a la forma en que funciona. CodeCommit Si tienes problemas con una versión específica de Git CodeCommit, revisa la información enSolución de problemas.
-
Para Windows:
Para trabajar con los archivos, las confirmaciones y otra información de CodeCommit los repositorios, debes instalar Git en tu máquina local. CodeCommit es compatible con las versiones 1.7.9 y posteriores de Git. 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 piensas usar HTTPS con el ayudante de credenciales que viene incluido en el paquete, en AWS CLI lugar de configurar las credenciales de Git, en la página Configurar opciones adicionales CodeCommit, asegúrate de que la opción Habilitar el administrador de credenciales de Git esté desactivada. El gestor de credenciales de Git solo es compatible CodeCommit si los usuarios de IAM configuran las credenciales de Git. Para obtener 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 función puede afectar a la forma en que funciona. CodeCommit Si tienes problemas con una versión específica de Git CodeCommit, revisa la información enSolución de problemas.
CodeCommit admite la autenticación HTTPS y SSH. Para completar la configuración, debes configurar las credenciales de Git CodeCommit (HTTPS, recomendado para la mayoría de los usuarios), un par de claves SSH para acceder CodeCommit (SSH) git-remote-codecommit (recomendado para los usuarios que utilizan el acceso federado) o el ayudante de credenciales incluido en el (HTTPS). AWS CLI
-
Para las credenciales de Git en todos los sistemas operativos compatibles, consulte Paso 3: Crea las credenciales de Git para las conexiones HTTPS a CodeCommit.
-
Para SSH en Linux, macOS o Unix, consulte SSH y Linux, macOS o Unix: configura las claves públicas y privadas de Git y CodeCommit.
-
Para SSH en Windows, consulte Paso 3: Configura las claves públicas y privadas de Git y CodeCommit.
-
Para git-remote-codecommit, consulte Pasos de configuración para las 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: Crea un repositorio CodeCommit
En esta sección, utilizarás la CodeCommit consola para crear el CodeCommit repositorio que utilizarás para el resto de este tutorial. Para usar la AWS CLI para crear el repositorio, consulteCrea un repositorio (AWS CLI).
Abra la CodeCommit consola en https://console.aws.amazon.com/codesuite/codecommit/home
. -
En el selector de regiones, elija el Región de AWS lugar en el 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 usa las
BatchGetRepositoriesAPIGetRepositoryO y planea mostrar el campo de descripción del repositorio en un navegador web, consulte la referencia de la CodeCommit API. -
(Opcional) Elige Agregar etiqueta para agregar una o más etiquetas de repositorio (una etiqueta de atributo personalizada que te ayuda a organizar y administrar tus AWS recursos) a tu repositorio. Para obtener más información, consulte Etiquetar repositorios en AWS CodeCommit.
-
(Opcional) Amplíe Configuración adicional para especificar si se debe usar la clave predeterminada Clave administrada de AWS o la clave gestionada por el cliente para cifrar y descifrar los datos de este repositorio. Si eliges usar tu propia clave gestionada por el cliente, debes asegurarte de que esté disponible en el Región de AWS lugar donde estás creando el repositorio y de que la clave esté activa. Para obtener más información, consulte AWS Key Management Service y cifrado para AWS CodeCommit repositorios.
-
(Opcional) Seleccione Habilitar Amazon CodeGuru Reviewer para Java y Python si este repositorio contiene código Java o Python y desea que CodeGuru Reviewer lo analice. CodeGuru Reviewer usa varios modelos de aprendizaje automático para detectar defectos en el código y sugerir mejoras y correcciones en las solicitudes de cambios. Para obtener más información, consulte la guía del usuario de Amazon CodeGuru Reviewer .
-
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 asignaste un nombre a tu repositorio MyClonedRepository y estás usando credenciales de Git con HTTPS en la región Este de EE. UU. (Ohio), la URL tiene el siguiente aspecto:
https://git-codecommit.us-east-2.amazonaws.com/MyClonedRepository
Necesita esta URL más adelante en Paso 2: Clonar el repositorio y subirlo al CodeCommit repositorio.
Paso 2: Clonar el repositorio y subirlo al CodeCommit repositorio
En esta sección, clona un repositorio Git en el equipo local, lo que dará lugar a lo que se denomina un repositorio local. Luego, envías el contenido del repositorio local al CodeCommit repositorio que creaste anteriormente.
-
Desde la terminal o la línea de comandos de tu computadora local, ejecuta el git clone comando con la
--mirroropción de clonar una copia simple del repositorio remoto en una nueva carpeta llamadaaws-codecommit-demo. Se trata de un repositorio vacío concebido solamente para la migración. No es el repositorio local en el que interactuar con el repositorio migrado. CodeCommit Puede crearlo más adelante, una vez finalizada la migración CodeCommit a.El siguiente ejemplo 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 --mirrorhttps://github.com/awslabs/aws-demo-php-simple-app.gitaws-codecommit-demo -
Cambie los directorios por el directorio en el que ha realizado la clonación.
cdaws-codecommit-demo -
Ejecuta el git push comando especificando la URL y el nombre del CodeCommit repositorio de destino y la --all opción. (Esta es la URL que copió en Paso 1: Crea un repositorio CodeCommit).
Por ejemplo, si asignaste un nombre a tu repositorio
MyClonedRepositoryy estás configurado para usar HTTPS, ejecutarás el siguiente comando:git pushhttps://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.
Puedes eliminar la aws-codecommit-demo carpeta y su contenido después de migrar el repositorio a CodeCommit. Para crear un repositorio local con todas las referencias correctas para trabajar con el repositorio CodeCommit, ejecuta el git clone comando sin la --mirror opción:
git clonehttps://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository
Paso 3: Ver los archivos en CodeCommit
Después de insertar el contenido de su directorio, puede usar la CodeCommit consola para ver rápidamente todos los archivos de ese repositorio.
-
Abra la CodeCommit consola en https://console.aws.amazon.com/codesuite/codecommit/home
. -
En 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: Comparte el repositorio CodeCommit
Al crear un repositorio en CodeCommit, se generan dos puntos finales: uno para las conexiones HTTPS y otro para las 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
Inicia sesión en Consola de administración de AWS y abre 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
Resourcelínea correspondiente a CodeCommit las acciones por el nombre del recurso de Amazon (ARN) del CodeCommit repositorio, tal y como se muestra a continuación:"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]sugerencia
Para encontrar el ARN del CodeCommit repositorio, vaya a la CodeCommit consola, elija el nombre del repositorio en la lista y, a continuación, seleccione Configuración. 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 nuevo para la política (por ejemplo,
AWSCodeCommitPowerUser-MyDemoRepo). Opcionalmente, puede proporcionar una descripción opcional para esta política. -
Seleccione 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 IAMUserSSHKeys oIAMSelfManageServiceSpecificCredentials.
Inicia sesión en Consola de administración de AWS y abre 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 Set Group Name (Establecer nombre del grupo), en Group Name (Nombre del grupo), introduzca un nombre para el grupo (por ejemplo,
MyDemoRepoGroup) y seleccione Next Step (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.
-
Selecciona la casilla situada junto a la política gestionada por el cliente que creaste 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 que muestra todos los usuarios asociados a tu cuenta de Amazon Web Services, selecciona las casillas situadas junto a los usuarios a los que quieres permitir el acceso al CodeCommit repositorio y, a continuación, selecciona Agregar 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 al que pueda acceder CodeCommit mediante el grupo de políticas y las políticas que configuró, envíe a ese usuario la información necesaria para conectarse al repositorio.
-
Abra la CodeCommit consola en. https://console.aws.amazon.com/codesuite/codecommit/home
-
En el selector de regiones, elija el Región de AWS lugar donde se creó el repositorio. Los repositorios son específicos de un Región de AWS. 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ía a tus usuarios la URL clonada junto con cualquier otra instrucción, como instalar AWS CLI, configurar un perfil o instalar Git. Asegúrese de incluir la información de configuración para el protocolo de conexión (por ejemplo, HTTPS).