내 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
위의 링크에서 언급했듯이.