如何正确存档应用程序版本的安装程序?

时间:2020-09-30 08:03:38

标签: artifactory

我们有一个品牌应用程序,并且我们的CI管道为每个品牌生成一个不同的安装程序。

现在不再麻烦我们的CI服务器,我们希望将每个发行版的安装程序部署到工件上。

问题是我不知道如何正确执行此操作。

从任何意义上说,安装程序都不是Maven构件或软件包,因为任何东西都将它们用作依赖项。它们是最终用户可以在其计算机上安装的* .exe文件或* .zip文件。

我们要通过发行名称(例如2020年9月发行版的2020_09),内部版本号,品牌和构建日期对它们进行分类。

因此,用于2020_09版本的独角兽品牌的安装程序可能是8月23日由版本号3构建的* .exe文件,而用于2020_09版本的凤凰品牌的安装程序可能是由build构建的* .zip文件8月28日排名第二。

如何使用构建服务器中所需的元数据将它们部署到工件上? 将此错误部署为具有groupId,artifactId和版本的exe类型的Maven工件感觉很错误,并且确实不符合我们的需求。

1 个答案:

答案 0 :(得分:1)

您可以使用Generic repositories来管理安装程序工件。
通用存储库使您可以管理任何类型的工件,而无需遵循某些布局或由某些程序包管理器实施的其他约束。
可以使用REST API,JFrog CLICI integrations将工件部署到通用存储库。所有这三个选项使您可以用可查询的properties注释工件,并在构建过程中捕获其他构建元数据并将其部署到Artifactory

对于安装程序版本控制,您可以使用:

  1. 工件名称-将版本作为工件名称的一部分,例如foo-1.1.0.exe
  2. 路径-将版本作为路径/foo/1.1.0/foo.exe的一部分
  3. 属性-用包含版本的version属性注释工件。例如,这使您可以根据属性查询latest版本
  4. 以上任何组合

使用自定义repository layout,您可以获得其他功能,例如自动快照/集成版本清除和删除旧版本。

您可以在Best Practices for Structuring and Naming Artifactory Repositories白皮书中阅读有关构建和命名存储库的更多信息