Migración de contenido local o sin versión a 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.

Migración de contenido local o sin versión a AWS CodeCommit

Los procedimientos que se describen en este tema muestran cómo migrar un proyecto existente, o de contenido local, de su equipo a un repositorio de CodeCommit. Como parte de este proceso:

  • Completará la configuración inicial necesaria para CodeCommit

  • Creará un repositorio de CodeCommit.

  • Coloque una carpeta local en el control de versiones de Git y envíe el contenido de dicha carpeta al repositorio de CodeCommit.

  • Visualizará los archivos en el repositorio de CodeCommit.

  • Compartirá el repositorio de CodeCommit con su equipo.

Migración de un proyecto local a CodeCommit

Paso 0: Configuración necesaria para acceder a CodeCommit

Antes de migrar contenido local 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 ella, la AWS CLI es más flexible a la hora de trabajar con Git.

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
  1. Para crear una cuenta de Amazon Web Services, acceda a http://aws.amazon.com y seleccione Registrarse.

  2. 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.

  3. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  4. 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.

  5. En la pestaña Permissions, seleccione Add Permissions.

  6. En Grant permissions, elija Attach existing policies directly.

  7. 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
  1. 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.

  2. 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.

  3. 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, indique json. 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 json here, 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 Solució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:

    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 Solución de problemas.

CodeCommit admite la autenticación de HTTPS y SSH. Para completar la configuración, debe definir las credenciales de Git para git-remote-codecommit (HTTPS, recomendado para la mayoría de los usuarios), un par de claves SSH (SSH) para acceder a CodeCommit, (recomendado para los usuarios que utilizan el acceso federado) o la aplicación ayudante de credenciales incluida con la AWS CLI.

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).

  1. Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home.

  2. 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.

  3. En la página Repositorios, seleccione Crear repositorio.

  4. 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.

  5. (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 de BatchGetRepositories y tiene pensado mostrar el campo de descripción del repositorio en un navegador web, consulte la Referencia de la API de CodeCommit.

  6. (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.

  7. (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.

  8. (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.

  9. 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 (HTTPS o SSH) que se utiliza para conectar a CodeCommit. Copie la dirección URL.

Por ejemplo, si el nombre del repositorio es MyFirstRepo y utiliza HTTPS, la URL sería parecida a esta:

https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyFirstRepo

Necesita esta URL más adelante en Paso 2: Migrar contenido local al repositorio de CodeCommit.

Paso 2: Migrar contenido local al repositorio de CodeCommit

Ahora que tiene un repositorio de CodeCommit, puede elegir un directorio del equipo local para convertirlo en un repositorio de Git local. El comando git init se puede utilizar para convertir el contenido sin versión existente en un repositorio de Git o, si aún no dispone de archivos o contenido, para inicializar un nuevo repositorio vacío.

  1. En el terminal o en la línea de comandos del equipo local, cambie los directorios al directorio que desee utilizar como origen del repositorio.

  2. Ejecute el siguiente comando para configurar Git para que use una ramificación predeterminada llamada main:

    git config --local init.defaultBranch main

    También puede ejecutar este comando para establecer como nombre de ramificación predeterminado todos los repositorios de main recién creados:

    git config --global init.defaultBranch main
  3. Ejecute el comando git init para inicializar el control de versiones de Git en el directorio. En la raíz del directorio se crea un subdirectorio .git que permite realizar un seguimiento del control de versiones. La carpeta .git también contiene todos los metadatos que necesita el repositorio.

    git init
  4. Compruebe el estado del directorio inicializado ejecutando el siguiente comando:

    git status

    Añada los archivos que desea incluir en el control de versiones. En este tutorial, ejecuta el comando git add con el especificador . para añadir todos los archivos de este directorio. Para ver otras opciones, consulte la documentación de Git.

    git add .
  5. Cree una confirmación para añadir archivos con un mensaje de confirmación.

    git commit -m "Initial commit"
  6. 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 MyFirstRepo y tiene establecida la opción para utilizar HTTPS, debería ejecutar el siguiente comando:

    git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyFirstRepo --all

Paso 3: Visualizar archivos en CodeCommit

Una vez que haya enviado el contenido del directorio, puede utilizar la consola de CodeCommit para ver rápidamente todos los archivos del repositorio.

  1. Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home.

  2. En Repositories (Repositorios) elija el nombre del repositorio (por ejemplo, MyFirstRepository) de la lista.

  3. 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
  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el área de navegación Dashboard, elija Policies y, a continuación, seleccione Create Policy.

  3. En la página Crear política, seleccione Importar política administrada.

  4. 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.

  5. 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.

  6. 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.

  7. 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, IAMSelfManageServiceSpecificCredentials o IAMUserSSHKeys.

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el área de navegación Dashboard, elija Groups y, a continuación, seleccione Create New Group.

  3. 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.

  4. 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).

  5. 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.

  6. Seleccione su grupo de la lista.

  7. 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.

  8. 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.

  1. Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home.

  2. 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.

  3. En la página Repositories (Repositorios), elija el repositorio que desea compartir.

  4. 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.

  5. 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).