使用Satis和Packagist进行PHP开发?想想JFrog Artifactory吧!
如果你正在用PHP开发服务器端代码,那么你很有可能会使用PHP Composer来管理你的依赖关系,并从第三方获取组件Packagist。要托管内部私有包,可以使用Toran Proxy或自己的Git存储库。您甚至可能在您的存储库中使用开源的Satis。
你猜怎么着。你的生活变得轻松了。为什么?
因为Artifactory现在支持PHP的作曲家存储库。这意味着它可以代理和管理你从Packagist需要的依赖,并在私有PHP Composer存储库上托管你的内部包和索引文件。当然,Toran Proxy可以满足您管理PHP依赖项的一些需求,但是有许多功能在您迁移到Artifactory之前无法获得。这里有一些。
通用
您可能正在使用Composer进行PHP开发,但您所在楼层的其他人正在使用鲍尔对于前端开发,以及建筑的其他地方,您的DevOps正在提供虚拟化环境码头工人。您应该维护多少不同的存储库来支持不同的开发环境?答案是一个!
首先,Artifactory是一个通用的工件存储库,这意味着它支持所有主要的包格式。但是构建和持续集成呢?有些团队可能会使用Maven与詹金斯CI,其他人可能会使用Gradle与TeamCity,而其他人甚至可能使用云CI提供商。好消息是Artifactory支持所有这些场景。它可以与所有常见的构建工具和CI服务器无缝地工作,因此无论您的开发生态系统是如何构建的,Artifactory都可以位于中间,托管您的内部包,并成为您从任何外部资源获取包的一站式商店。
智能搜索和AQL
企业工件存储库可以快速增长以容纳数百万个工件,并且找到您碰巧正在寻找的特定文件可以很容易地成为二进制大海捞针。
Artifactory使搜索既简单又复杂。从基于固有属性(如名称和创建日期)的最简单搜索,到基于属性(包括自定义属性)的搜索,再到基于校验和的工件搜索,Artifactory提供了许多不同的方法来查找工件。然后,有人工查询语言(AQL)搜索超级英雄。AQL为您提供了一种简单的方法来制定任何复杂程度的查询,使您可以轻松地使用任意数量的搜索条件、过滤器、排序选项和输出字段来细化查询。AQL有效地将存储库和元数据转化为以前无法利用的信息金矿。尝试搜索从Packagist下载的PHP包,这些包的依赖于许可证不是“Apache”。您只能在Artifactory上使用AQL来执行此操作。
企业级存储库
Satis可以托管您的内部私有包,但是它对跨团队协作的支持程度如何呢?如果你需要与地球另一端的团队合作,而你的QA团队却在地球的另一端,那该怎么办?然后,Satis(或Toran Proxy)有多稳定。它曾经出现过故障或无法使用吗?作为依赖项管理器,它对开发团队和构建服务器至关重要。然后,您的包托管在哪里?当然,在你的文件系统上。您的文件系统可以处理多少tb ?在需要的时候增加存储空间有多复杂?Artifactory对所有这些问题都有答案。
首先,让我们谈谈全球合作。通过支持多推复制Artifactory使存储库在多个分散的站点之间保持同步,因此在全球不同地区工作的团队可以有效地在他们的工作存储库中看到相同的工件。现在,我们来谈谈可用性。工件可以部署在高可用性配置使用冗余服务器架构,提供最多5 - 9的可用性。由于没有单点故障,即使一台服务器宕机,其他服务器也会继续为所有用户提供服务。最后,我们谈到存储。Artifactory为存储提供了无与伦比的功能,因此您的对象存储实际上具有无限的潜力,可以根据您的需要进行增长。是否通过filestore分片功能,或基于云的对象存储(AWS或GCP), Artifactory对对象存储的支持可以让您的存储库随着业务的增长而大规模扩展。
这只是触及了表面。我还可以继续讲远程和虚拟存储库,用户管理,与企业认证系统集成,如LDAP和活动目录,SSO,SSH,OAuth身份验证,用户插件,GPG签署以及更多,这些都是你无法从萨提斯甚至托兰代理中获得的。在使用Composer开发PHP时,要实现真正的企业级存储库管理,您需要Artifactory。
