我想克隆GitLab仓库没有提示我的自动化脚本,通过使用我的私人令牌从我的GitLab帐户。
有人能给我一个样品吗?
我知道我可以这样做的用户和密码:
git clone https://" + user + ":" + password + "@" + gitlaburl;
我知道这是可能的ssh密钥
但是,这两种选择都不够。
我想克隆GitLab仓库没有提示我的自动化脚本,通过使用我的私人令牌从我的GitLab帐户。
有人能给我一个样品吗?
我知道我可以这样做的用户和密码:
git clone https://" + user + ":" + password + "@" + gitlaburl;
我知道这是可能的ssh密钥
但是,这两种选择都不够。
当前回答
现在(2020年10月),你可以只使用以下内容
git clone $CI_REPOSITORY_URL
它将扩展为如下内容:
git clone https://gitlab-ci-token:[MASKED]@gitlab.com/gitlab-examples/ci-debug-trace.git
其中“令牌”密码是临时令牌(它将在构建完成后自动撤销)。
其他回答
你可以为你的GitLab回购的CI/CD管道使用runner令牌。
git clone https://gitlab-ci-token:<runners token>@git.example.com/myuser/myrepo.git
<runners token>可以从:
git.example.com/myuser/myrepo/pipelines/settings
或通过点击设置图标-> CI/CD管道,并在页面上寻找跑步者令牌
跑步者令牌位置的截图:
你可以这样做:
git clone https://gitlab-ci-token:<private token>@git.example.com/myuser/myrepo.git
在GitLab CI管道中,CI_JOB_TOKEN环境变量为我工作:
git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/...
来源:Gitlab Docs
顺便说一下,在.gitlab-ci中设置这个变量。Yml有助于调试错误。
variables:
CI_DEBUG_TRACE: "true"
不需要定制URL。只需为gitlab令牌使用git配置,例如
git config --global gitlab.accesstoken {TOKEN_VALUE}
此处扩展描述
从8.12开始,不再支持使用HTTPS +运行令牌进行克隆,如下所述:
在8.12中,我们改进了构建权限。从现在开始不支持使用runner令牌克隆项目(它实际上是巧合,从来都不是一个完整的功能,所以我们在8.12中改变了这一点)。您应该使用构建令牌代替。 这是广泛记录在这里- https://docs.gitlab.com/ce/user/project/new_ci_build_permissions_model.html。