2016-07-22 116 views
0

我为我的组织安装了gitlab安装。为了标准化,我们希望在我们的服务器上使用我们自己的packagist安装的框架和开发过程。 让我感到困惑的是,当我必须提交一个包含在gitlab回购的包时,它需要验证。我知道在包含composer.json的包时,我可以将回购,用户名和密码设置为可以从那里读取包。或者当我创建一个项目:使用gitlab在packagist上托管私人PHP包

composer create-project vendor/name path --repository-url=http://user:[email protected]/myrepo/package.git

如果这是真的,我们真的需要packagist?如果是的话,那么设置这个最好的方法是什么。 如果你们还告诉我packagist(我们自己托管的)上的包裹提交将如何工作,我将不胜感激。

+0

您确实希望拥有关于您的私人包的所有Composer信息的本地元数据存储。否则,您必须在根应用程序的所有'composer.json'文件中包含可能包含软件包的所有存储库,即使是传递包关系。您可能考虑的另一件事是:为标记版本提供ZIP文件,而不是要求每个人和您的部署系统克隆所有内容。如果您确实需要它的功能,您可以在本地安装Packagist,但我仍然乐意使用Satis托管120个内部软件包和300多个外部设备。 – Sven

+0

@Sven那么你是否使用'satis'来代替Packagist来维护私有包?这种方法的优点是什么?这不是我只想使用packagist。我觉得它只是一样的东西,只是软件是不同的。 – SAM

+0

Satis本质上是“运行一个脚本,产生一些静态输出,然后在你能想象到的最基本的Web服务器上托管它”。与使用某种数据库的packagist相比,服务器上至少需要PHP。有些缺点像“Satis只能一次更新一切”,这对我们来说大约需要5到8分钟。 Packagist将能够触发一个包并且只会更新这个包。作为第三种选择,您还应该查看https://toranproxy.com。 – Sven

回答

0

有一个新产品可用于企业,以简化这一过程:Private Packagist。它允许您为GitLab存储库配置凭据,然后使私有存储库中的包可用于Composer。您可以管理哪些人可以访问哪些软件包,并使用单个令牌为每个用户的Composer处理身份验证。 Private VCS Package页面解释了这是如何工作的。