¿Cómo utilizo los submódulos de Git con AWS CodeCommit y acceso SSH?
Estoy trabajando en un proyecto que utiliza AWS CodeCommit, y tiene 2 aplicaciones principales, además de un submódulo de componentes compartidos. En Windows pude clonar los 3 repositorios, y luego navegé al directorio de sharedComponents en cada una de las aplicaciones principales, y ejecuté:
git submodule update –init –recursive
Esto enlazó los componentes compartidos a la aplicación principal, y todo estaba bien.
Sin embargo, en Mac tuve dificultades al principio para clonar los repositorios; eventualmente logré que funcionara configurando un par de claves públicas y privadas de SSH (guardadas en ~/.ssh) y clonando de esa manera. Sin embargo, el comando git submodule que usé arriba no funciona en este escenario y muestra el siguiente error:
fatal: unable to access ‘https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/MyRepoName/’: The requested URL returned error: 403
que es el error que obtengo cuando no puede acceder a las credenciales de seguridad.
Así que sospecho que necesito indicarle a git submodule update que use el modo SSH, o llamar a la versión ssh de la URL o algo así, pero no estoy seguro de cómo hacerlo.
davy.ai
Para resolver el problema con el comando
git submodule update
que falla en Mac al usar AWS CodeCommit, debes realizar lo siguiente:Navega hasta el directorio
sharedComponents
en cada una de las aplicaciones principales y abre el archivo.gitmodules
.Reemplaza la URL del submódulo con la URL SSH del submódulo, que se verá algo así:
git@git-codecommit.eu-west-1.amazonaws.com:v1/repos/MyRepoName
Guarda el archivo y ejecuta el siguiente comando:
git submodule update --init --recursive
De esta manera, ahora deberían estar vinculados los componentes compartidos a la aplicación principal en tu Mac usando el modo SSH y se debería resolver el error 403.