所以我制作了一个作曲家程序包,并且有一个GitLab克隆URL
git@gitlab.mycompany.hu:composer-packages/another-package.git
在我们的GitLab服务器上,我们启用并强制启用2FA,并且也禁用HTTPS克隆,仅允许SSH。如何在composer.json
中告诉作曲家如何克隆存储库?
我尝试过:
repositories": [
{ "type":"gitlab", "url": "git@gitlab.mycompany.hu:composer-packages/another-package.git" }
],
.
.
.
"require": {
...
"composer-packages/another-package": "1.0",
...
"config": {
...
"gitlab-domains": ["gitlab.mycompany.hu"],
"gitlab-token": {"gitlab.mycompany.hu": "ABCDEFGHIJKLMNOPQR"}
对于令牌,我既尝试了为生成的用户访问令牌,也尝试了为项目生成的部署令牌。没有为他们工作。我得到的是:
[Composer\Downloader\TransportException]
Invalid credentials for 'https://gitlab.mycompany.hu/api/v4/projects/omposer-packages%2Fanother-package', aborting.
请帮助我。
答案 0 :(得分:0)
无解。 (︶︹︺)
仅当我们创建一个新用户并禁用2FA的登录名并且使用其访问令牌来克隆存储库时,它才有效。由于这会违背公司的政治原则,因此我们解散了整个构想,并将作曲家软件包集成到了我们的主要项目中。
答案 1 :(得分:0)
在composer信息库部分设置"type": "git"
可使您在启用SSH和2FA的情况下进行克隆。
答案 2 :(得分:-1)
从〜/ .config / composer / auth.json中删除了我在其中注册的存储库的密钥,这是我的帮助。删除后,我运行composer update命令,再次输入它(好像是第一次)-访问令牌在存储库中再次创建并注册在auth.json中-一切都像以前一样