Symfony Flex背后是严格的企业防火墙/代理

时间:2018-02-14 07:08:51

标签: php composer-php symfony4 symfony-flex

我目前工作的公司有一个非常严格的安全策略,并且不允许Composer访问公司内部网外的任何主机。每个开发人员都在内部云中获得自己的VPS进行开发,内部云中预装了php,composer和其他开发人员,但是没有从VPS到互联网的路由。工作站仅限于电子邮件和浏览互联网的互联网访问。我们设法让Symfony和作曲家在内部服务器上与Satis一起玩。有时候由于严格的包白名单标准来管理Satis静态依赖关系很烦人,但它通常很有用......好吧,直到Symfony Flex出现并http://symfony.sh我们的内部工作站和开发环境无法使用。

那么有没有办法在内部运行Flex服务器或以某种方式重用本地Satis存储库来提供flex配方?

2 个答案:

答案 0 :(得分:1)

你是否无法访问symfony.sh,你运气不好使用symfony flex。没有相当于令人满意的flex。

仅当您的存储库位于github.com上时,才能使用私有存储库。

但Flex完全不是强制性的,您仍然可以安装捆绑包,并查找其配置。

答案 1 :(得分:1)

在撰写此答案时,Symfony尚未正式开源symfony.sh源代码,因此通过Flex composer插件获取Flex配方的唯一方法是启用到symfony.sh的防火墙路由。

但是,如果这不是对您的安全策略的抱怨,则另一个选择是使用并提供反向工程Flex服务器https://github.com/aurimasniekis/flex-server,该服务器可以托管在对GitHub具有有限访问权限的独立服务器上。然后,应该通过执行以下操作将composer.json配置为使用该特定的Flex服务器:

composer config extra.symfony.endpoint FLEX_SERVER_URL

Flex作为一个作曲家插件是开源的,因此它背后的协议可以相对容易地进行模拟或重建。

第三种选择是根本不使用Flex并继续安装捆绑包,其中包含许多配置,安装和启用依赖关系的样板步骤,就像我们在Symfony4之前所做的那样。