[gitlab] 인증없이 복제하기 위해 gitlab 토큰 사용

내 gitlab 계정의 개인 토큰을 사용하여 자동화 스크립트를 묻지 않고 gitlab 저장소를 복제하려고합니다.

누군가 나에게 샘플을 제공 할 수 있습니까?

사용자와 비밀번호로 그렇게 할 수 있다는 것을 알고 있습니다.

git clone https://" + user + ":" + password + "@" + gitlaburl;

ssh 키로 가능하다는 것을 알고 있습니다.

그러나 두 옵션 모두 충분하지 않습니다



답변

나는 이것이 오래된 것을 알고 있지만 이것이 당신이하는 방법입니다.

git clone https://oauth2:ACCESS_TOKEN@somegitlab.com/vendor/package.git


답변

다음과 같이 할 수 있습니다 :

git clone https://gitlab-ci-token:<private token>@git.example.com/myuser/myrepo.git


답변

gitlab에는 많은 토큰이 있습니다.

  • 개인 토큰
  • 개인용 액세스 토큰
  • CI / CD 실행 토큰

예를 들어 GitLab Community Edition 10.1.2를 사용하여 개인용 액세스 토큰 만 테스트했습니다 .

git clone https://gitlab-ci-token:${Personal Access Tokens}@gitlab.com/username/myrepo.git


git clone https://oauth2:${Personal Access Tokens}@gitlab.com/username/myrepo.git

또는 사용자 이름과 비밀번호를 사용하는 경우 :

git clone https://${username}:${password}@gitlab.com/username/myrepo.git

또는 비밀번호를 입력하여 :

git clone https://${username}@gitlab.com/username/myrepo.git

그러나 개인 토큰 이 작동하지 않는 것 같습니다.


답변

암호 대신 토큰을 사용하십시오 (복제를 허용하려면 토큰에 “api”범위가 있어야 함).

git clone https://username:token@gitlab.com/user/repo.git

11.0.0-ee에 대해 테스트되었습니다.


답변

GitLab 리포지토리의 CI / CD 파이프 라인에 러너 토큰을 사용할 수 있습니다.

git clone https://gitlab-ci-token:<runners token>@git.example.com/myuser/myrepo.git

어디서 <runners token>구할 수 있습니까?

git.example.com/myuser/myrepo/pipelines/settings

Settings icon -> CI/CD Pipeline또는를 클릭 하고 페이지에서 Runners Token을 찾으십시오.

주자 토큰 위치의 스크린 샷 :
주자 토큰 위치의 스크린 샷


답변

이미 리포지토리가 있고 인증 방식을 MFA로 변경 remote origin한 경우 다음과 같이 새 API 토큰을 사용하도록 HTTP URI를 변경할 수 있습니다 .

git remote set-url origin https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git

그리고 리포지토리를 전혀 다시 복제 할 필요가 없습니다.


답변

가능한 한 가지 방법은 배포 토큰 ( https://docs.gitlab.com/ee/user/project/deploy_tokens )을 사용하는 것입니다 . 토큰을 만든 후 다음을 사용하십시오.

git clone https://<username>:<deploy_token>@gitlab.example.com/tanuki/awesome_project.git

위의 링크에서 언급했듯이.