代码之家  ›  专栏  ›  技术社区  ›  Tez

严格的公司防火墙/代理背后的Symfony Flex

  •  2
  • Tez  · 技术社区  · 7 年前

    我目前工作的公司有非常严格的安全政策,Composer不允许访问公司内部网以外的任何主机。每个开发人员都有自己的VPS,用于在预先安装了php、composer和其他开发人员工具的内部云内进行开发,但VPS没有通向internet的路径。工作站仅限于电子邮件和浏览互联网。我们设法使Symfony和composer与Satis一起在内部服务器上播放。有时由于严格的软件包白名单标准,管理Satis静态依赖关系很烦人,但它通常是有效的。。。直到Symfony Flex出现 http://symfony.sh 这对我们的内部工作站和开发环境不可用。

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

    2 回复  |  直到 7 年前
        1
  •  1
  •   magnetik    7 年前

    你联系不到symfony。sh,你使用symfony flex太不走运了。对于flex,没有与satis等价的东西。

    只有当您的存储库位于github上时,私有存储库才可用。通用域名格式。

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

        2
  •  1
  •   Tez    7 年前

    在撰写本回答时,Symfony尚未正式公开Symfony的来源。因此,通过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作为一个composer插件是开源的,所以它背后的协议可以相对轻松地模拟或重新创建。

    第三种选择是根本不使用Flex,继续安装捆绑包,并使用大量样板步骤来配置、安装和启用依赖项,就像我们在Symfony4之前所做的那样。