根据文档,应该可以使用project access tokens访问GitLab repos:
用户名设置为project_{project_id}_bot,例如project_123_bot。
不要介意这是一个谎言--在我的例子中,实际用户名为project_4194_bot1
;显然,它们为随后的令牌增加一个数字。
无论哪种方式--我 * 已经 * 尝试了使用和不使用尾随1
--我希望
git clone "https://project_4194_bot1:[email protected]/my-group/my-project.git"
要成功,与my.username:$PERSONAL_TOKEN
相同(它工作得很好)。但是我得到
remote: HTTP Basic: Access denied
fatal: Authentication failed for '<snip>'
这到底是怎么回事如何使用项目访问令牌访问GitLab存储库?
这并不是说我们会走那么远,但是FWIW,令牌似乎有足够的权限:
4条答案
按热度按时间vatpfxk51#
使用项目名称作为用户名似乎是可行的。在您的情况下,将
project_4194_bot1
替换为my-project
应该可以工作:**编辑:**实际上可以使用任何非空值作为用户名(参见docs),正如其他人正确指出的那样。
wtlkbnrh2#
关于GitLab documentation:
在Git中,当使用HTTP Basic Authentication时,用途:
在以前的GitLab版本中,必须使用
project_4194_bot1
作为用户名。但是,当前版本允许您使用任何您想要的用户名:wydwbb8l3#
我发现,根据git版本的不同,如果token是项目访问令牌,'user'可以为空或为随机字符串。
odopli944#
我遇到了类似的问题:我不知道如何从客户端访问我的仓库,而不给它我的密码。对我有效的解决方案是使用以下格式的URL:
请注意,任何其他格式都不起作用。关于细节,我使用argocd并尝试持续部署私有存储库的文件。希望这对你有帮助!