我试图将Bitbucket上的私有包拉到我的项目中,但似乎无法使用SSH密钥使composer正常工作。
我目前正在尝试:
{
"type": "composer",
"url": "https://packagist.org"
},
{
"type": "vcs",
"url": "git@bitbucket.org:{projectName}/{repo}.git",
"ssh2": {
"username": "git",
"privkey_file": "/home/vagrant/.ssh/bitbucket_id_rsa",
"pubkey_file": "/home/vagrant/.ssh/bitbucket_id_rsa.pub"
}
},
当我尝试运行composer update时,我得到Permission denied (publickey)
,但当我运行ssh -T git@bitbucket.org -i /home/vagrant/.ssh/bitbucket_id_rsa
时,我可以成功连接。
我不确定它是否尝试使用指定的密钥,因为如果我在priv
和pub
密钥选项中键入随机字母,它仍然以同样的方式失败,而不是抛出一个找不到的文件。
希望这只是一个小的配置错误,我已经做了,因为我不太清楚它是什么问题。
1条答案
按热度按时间nom7f22z1#
使用composer
2.0.8
测试,ssh2
选项仅支持"type": "composer"
(尚不支持git
和vcs
类型)。但是即使对于
"composer"
类型,你也应该把ssh2
选项写在它们所属的地方。这些选项属于options
键的对象。位于他们所在的地方,这并不奇怪 composer 只是忽略了这些设置。
其他替代品
如果你有一个私有的bitbucket存储库,你可能应该使用bitbucket驱动程序:
最后但并非最不重要的是,在
bitbucket-pipelines.yml
文件中,我们可以代替说选项键做:其中
my-ssh-key.txt
文件的内容设置为用作ssh-key。只要上述运行在一个对接器映像,它只是工作,但对于所谓的“Runner”,我们需要撤销以上,如: