我们有一个需要开发需要管理软件组件生命周期的自定义产品的需求,即上传,下载,重新调用等。一个选项是与Azure Azure工件一起使用的自定义API,另一个选项是与Artifactory一起使用。
我们能否对这两种解决方案的优缺点有一些了解。
提供信息的一些链接是
https://www.g2.com/products/azure-artifacts/competitors/alternatives
除此之外,我还想了解是他们对包装经理的支持,主要是椰菜,maven等

#1 楼

JFrog Artifactory的专业人士

Artifactory支持25种以上的程序包类型,而Azure仅支持Maven,npm,NuGet和Python。您可以通过Azure容器注册表获得Docker和Helm,但这是一个单独的工具。

Artifactory是完全混合的-适用于本地安装和SaaS-版本之间完全相同。

使用Artifactory,您可以避免供应商锁定-不仅依赖一个云供应商来满足您的所有需求。这也意味着不限于任何供应商的数据库堆栈,访问管理等。
代理任何远程存储库-不仅是正式存储库(如Maven Central和PyPI.org),

Artifactory已针对多站点操作进行了优化-通过不同的复制选项(包括拉,推,基于事件和多推送复制),在多个,地理位置遥远的站点和数据中心上支持任何网络拓扑。

丰富的元数据和AQL-Artifactory为工件和文件夹的所有主要包格式提供了完整的元数据功能-包括自定义元数据。用户可以使用可搜索的属性标记工件和文件夹。 Artifactory还收集构建工件的构建信息,作为CI服务器集成的一部分(请参见下文)。 AQL为您提供了前所未有的灵活性来搜索工件。它提供了一种简单的方法来制定复杂的查询,这些查询指定了任意数量的搜索条件,过滤器,排序选项和输出字段。

构建信息-Artifactory为部署到其上的所有构建工件存储了详尽的元数据。借助此“物料清单”,即使构建已经在生产中,也很容易忠实地复制构建,并跟踪问题原因以减少解决时间(TTR)。

Azure工件优点

如果您的CI已基于Azure DevOps构建,则为Azure Artifacts进行的初始设置可能会更快一些。

免责声明:我是JFrog员工。

#2 楼

如果您正在使用其他Microsoft Azure产品(例如其DevOps解决方案),则Microsoft Artifact非常有意义。如果您使用的是Azure,则Microsoft Artifact将与平台的其余部分很好地集成,具有更好的支持(仅要与1个供应商打交道),并且应该具有更好的性能,因为数据全部都在他们的网络中。此外,您无需为创建和存储工件而进行数据输出转移。

另一方面,Artifactory的设计与技术不可知。它将与主要的云提供商(Azure,Google,AWS)集成,并支持许多不同类型的技术。但是,如果使用本地版本,将需要一些设置和配置来使其启动和运行。

评论


关于如何在Microsoft工件上提供支持的任何输入,以支持可可豆荚之类的软件包管理器。像JFrog这样的Artifactory提供可可艺术插件。同样,这里也有任何支持。

–shri
19/12/21在6:15

@shri如果回答您的问题,请标记为接受

– 030
19/12/21在10:20



@Rolnick-感谢您的回复,您能告诉我吗?分享有关Microsoft在iOS,Android,Xamarin的不同程序包管理器上的支持的信息

–shri
19/12/22在9:56

@shri:您可以将其发布为其他问题吗?它与最初提出的问题有很大不同,答案会根据您对这种支持的目标而有所不同。

–韦斯利·罗尼克(Wesley Rolnick)
19/12/23在16:21

#3 楼

如果您使用的是Java / Maven / Gradle,则Azure Artifacts仅支持一个外部存储库:Maven Central。如果您的软件包不在该存储库中,则势必会使用Artifactory或Nexus或其他类似的替代方法。