Answers:
我知道这很老了,但这是您的做法:
git clone https://oauth2:ACCESS_TOKEN@somegitlab.com/vendor/package.git
api
令牌。一个read_user
只能在读回购/users
ssh
呢?
gitlab有很多令牌:
我使用GitLab社区版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
但是私人令牌似乎无法正常工作。
您可以将Runners令牌用于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
git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/...
如果您已经有一个存储库,并且只是更改了对MFA进行身份验证的方式,则可以更改remote origin
HTTP URI以使用新的api令牌,如下所示:
git remote set-url origin https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git
而且您根本不需要重新克隆存储库。
git clone 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
如上面链接中所述。
从此处开始,不再支持8.12
使用HTTPS
+运行器令牌进行克隆,如此处所述:
在8.12中,我们改进了构建权限。从现在开始就不支持使用Runners令牌克隆项目(它实际上是巧合,并且从来都不是完全成熟的功能,因此我们在8.12中进行了更改)。您应该改用构建令牌。
这在此处广泛记录-https: //docs.gitlab.com/ce/user/project/new_ci_build_permissions_model.html。
为了让我的未来我很开心:RTFM -不要使用在所有的gitlab-CI-令牌,但该.netrc
文件。
有两点很重要:
echo -e "machine gitlab.com\nlogin gitlab-ci-token\npassword ${CI_JOB_TOKEN}" > ~/.netrc
$CI_JOB_TOKEN
文件中的!https://gitlab.com/whatever/foobar.com
-不是ssh://git@foobar
,不是git+ssh://
,不是git+https://
。您也不需要URL中的任何CI-TOKEN内容。git clone [url from step 4]
背景:我知道了
fatal: could not read Username for 'https://gitlab.mycompany.com': No such device or address
当我想像让Ansible + Gitlab + Docker正常工作时。现在可以了。
上面的许多答案都很接近,但是它们获得〜username
语法deploy
不正确的标记。还有其他类型的令牌,但是deploy token
gitlab为每个回购提供了(至少在2020年左右),以允许自定义访问(包括只读)。
从repository
(或group
)中找到settings
-> repository
-> deploy tokens
。创建一个新的。将创建username
和token
字段。在username
默认情况下不固定值; 它是此令牌唯一的。
git clone https://<your_deploy_token_username>:<the_token>@gitlab.com/your/repo/path.git
在gitlab.com公共免费帐户上进行了测试。
git clone https://<token-name>:<token>@gitlaburl