Quiero clonar el repositorio de gitlab sin solicitar mi script de automatización, utilizando mi token privado de mi cuenta de gitlab.
¿Alguien puede proporcionarme una muestra?
Sé que puedo hacerlo con usuario y contraseña:
git clone https://" + user + ":" + password + "@" + gitlaburl;
y sé que es posible con la tecla ssh
pero, ambas opciones no son suficientes

git clone https://<token-name>:<token>@gitlaburlRespuestas:
Sé que esto es viejo, pero así es como lo haces:
git clone https://oauth2:[email protected]/vendor/package.gitfuente
apitoken. Aread_usersolo puede leer repositorios bajo/usersssh?Puedes hacerlo así:
fuente
El gitlab tiene muchos tokens:
Probé solo el token de acceso personal usando GitLab Community Edition 10.1.2 , el ejemplo:
o usando nombre de usuario y contraseña:
o ingresando su contraseña:
Pero el token privado parece que no puede funcionar.
fuente
Use el token en lugar de la contraseña (el token debe tener un alcance "api" para permitir la clonación):
Probado contra 11.0.0-ee.
fuente
Puede usar el token de los corredores para las canalizaciones de CI / CD de su repositorio de GitLab.
Dónde
<runners token>se puede obtener de:o haciendo clic en
Settings icon -> CI/CD Pipeliney busque el token Runners en la páginaCaptura de pantalla de la ubicación del token de los corredores:
fuente
git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/...Si ya tiene un repositorio y acaba de cambiar la forma en que realiza la autenticación a MFA, puede cambiar su
remote originURI de HTTP para usar su nuevo token de API de la siguiente manera:git remote set-url origin https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.gitY no necesitará volver a clonar el repositorio en absoluto.
fuente
git clone https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.gitTambién funcionó para mí, ¡gracias! Contestaré este hilo con mi solución correcta.Una forma posible es usar un token de implementación ( https://docs.gitlab.com/ee/user/project/deploy_tokens ). Después de crear el token, use:
como se menciona en el enlace de arriba.
fuente
A partir de ahora
8.12, la clonación usando elHTTPStoken + runner ya no es compatible, como se menciona aquí :fuente
Dentro de una tubería GitLab CI, la
CI_JOB_TOKENvariable de entorno funciona para mí:Fuente: Documentos de Gitlab
Por cierto, establecer esta variable
.gitlab-ci.ymlayuda a depurar errores.fuente
Fui SSH usando la configuración de claves de implementación por proyecto (solo lectura)
fuente
Para hacerme feliz en el futuro: RTFM : no use el gitlab-ci-token en absoluto, sino el
.netrcarchivo.Hay un par de puntos importantes:
echo -e "machine gitlab.com\nlogin gitlab-ci-token\npassword ${CI_JOB_TOKEN}" > ~/.netrc$CI_JOB_TOKENel archivo dentro del archivo!https://gitlab.com/whatever/foobar.com- nossh://git@foobar, nogit+ssh://, nogit+https://. Tampoco necesita ningún elemento de CI-TOKEN en la URL.git clone [url from step 4]Antecedentes: tengo
cuando intenté hacer que Ansible + Gitlab + Docker funcionara como lo imagino. Ahora funciona.
fuente
No es necesario personalizar la URL. Solo use una configuración git para tokens gitlab como
descripción extendida aquí
fuente
muchas respuestas anteriores están cerca, pero obtienen una
usernamesintaxis ~ para losdeploytokens incorrectos. Hay otros tipos de tokens, pero estodeploy tokenes lo que ofrece gitlab (alrededor de 2020+ al menos) por repositorio para permitir un acceso personalizado, incluido solo lectura.de a
repository(ogroup), encuentre elsettings->repository->deploy tokens. Crea uno nuevo. Ausernameytokencampo son creados. ElusernameNO es un valor fijo por defecto; Es exclusivo de este token.git clone https://<your_deploy_token_username>:<the_token>@gitlab.com/your/repo/path.gitprobado en gitlab.com cuenta pública, gratuita.
fuente