我已经在我们的一台远程服务器上设置了一个Satis存储库,以允许访问托管在Bitbucket上的私有(private)软件包。我已经在该服务器上创建了SSH密钥对,并将公共(public)密钥添加到了我们的Bitbucket用户。这样构建Satis就可以了。
现在,当我要在托管应用程序的任何远程服务器上执行composer install
时,除非我在该服务器上创建密钥对并将其公共(public)密钥添加到Bitbucket,否则我没有正确的权限。我不想对每个项目(在环境中为3倍)都以Bitbucket帐户中几乎有100个公共(public)密钥结尾的情况进行此操作。
如何避免这种情况?
有没有一种方法可以将所有软件包镜像到Satis存储库上,因此在进行composer install
编码时,可以从Satis存储库中获取这些软件包而无需使用公共(public)密钥?
最佳答案
是的,您必须在Satis服务器上创建文件。如果启用,Satis将为找到的每个标签创建一个ZIP文件并将其放入您配置的目录中。
这也将加快安装速度,因为该ZIP文件一旦下载,将存储在本地。请注意,仅当未在供应商文件夹中安装软件包时才使用ZIP。目前,我假设您已经用Git克隆了所有软件包,而Composer不会改变这一点-获取更新,然后 checkout 标签比删除仓库和下载ZIP更快。如果您仍在使用Git,则必须具有密钥。
更改Satis配置后,删除供应商文件夹并在此之后更新将下载ZIP。
关于ssh - 满足,Bitbucket和SSH,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36477401/