Rap*_*ael 4 git authentication gitlab
根据文档,应该可以使用项目访问令牌访问 GitLab 存储库:
用户名设置为project_{project_id}_bot,如project_123_bot。
别介意那是谎言——project_4194_bot1在我的例子中调用的是实际用户;显然,他们为后续令牌增加了一个数字。
无论哪种方式——我都试过有尾随和没有尾随1——我希望
git clone "https://project_4194_bot1:$PROJECT_TOKEN@my.gitlab.host/my-group/my-project.git"
Run Code Online (Sandbox Code Playgroud)
成功,与my.username:$PERSONAL_TOKEN(完美运作)相同。但是,我得到
remote: HTTP Basic: Access denied
fatal: Authentication failed for '<snip>'
Run Code Online (Sandbox Code Playgroud)
这里可能发生了什么?如何使用项目访问令牌访问 GitLab 存储库?
好像我们不会走那么远,但是 FWIW,令牌似乎有足够的权限:
Raf*_*-WO 11
似乎使用项目名称作为用户名有效。在你的情况下替换project_4194_bot1为my-project应该工作:
git clone "https://my-project:$PROJECT_TOKEN@my.gitlab.host/my-group/my-project.git"
Run Code Online (Sandbox Code Playgroud)
来自GitLab 文档:
对于 Git,当使用 HTTP 基本身份验证时,请使用:
- 任何非空值作为用户名。
- 项目访问令牌作为密码。
在以前的 GitLab 版本中,必须使用它 project_4194_bot1作为用户名。但是,当前版本允许您使用任何您想要的用户名:
git clone "https://anything:$PROJECT_TOKEN@my.gitlab.host/my-group/my-project.git"
Run Code Online (Sandbox Code Playgroud)