5.使用Artifactory。x ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog支持
概述
Artifactory支持构建集成,无论您是在当前使用的常见CI服务器上运行构建,还是在基于云的CI服务器上运行构建,还是在没有CI服务器的独立CI服务器上运行构建。
将Artifactory集成到构建生态系统中提供了重要的信息,通过部署工件的可见性、依赖关系和构建环境上的信息来支持完全可复制的构建。
Artifactory Build Integration Add-on提供了一组可以与行业标准CI系统和构建工具一起使用的插件,使您能够:
- 在Artifactory中查看所有已发布的构建及其构建结果。
- 探索每个构建的模块,包括已发布的工件和相应的依赖项。
- 获取有关构建环境的信息。
- 检查特定的工件是否是构建所需要的,或者是构建的结果,如果这样的工件应该被移除,则提供警报。
- 将来自特定构建的所有工件和/或依赖项视为单个单元,并执行诸如移动、复制、导出等批量操作。
- 在构建服务器和Artifactory页面中接收构建和工件信息之间的双向链接。
在CI服务器上运行构建
通过将CI服务器视为常规的构建客户端,Artifactory可以轻松地添加到持续集成构建生态系统中,这样它就可以解析来自Artifactory的依赖关系,并将工件部署到Artifactory中的专用存储库中。
目前支持的CI服务器,每个都通过特定的插件:詹金斯/哈德逊,TeamCity,竹子而且TFS.
所有这些CI服务器上支持的构建工具是:Maven 3和Maven 2,Gradle,常春藤/蚂蚁,net, MSBuild还有通用的构建工具。详细信息请参考每个CI服务器插件的文档。
运行独立构建或在基于云的CI服务器上运行
在过去几年中,基于云的CI服务器越来越受欢迎。一些例子是,特拉维斯CI,drone.io而且Codeship.问题是这些都不是传统意义上的“可插拔”。因此,为了支持在基于云的构建服务器上运行的构建,以及独立的构建,Artifactory为行业标准构建工具(如Maven、Gradle、Ivy/Ant和MSBuild)提供了插件。这些插件提供了Artifactory的所有优点,可以在不需要CI服务器的情况下促进完全可复制的构建。详情请参阅Maven存储库,使用Gradle,和Ivy一起工作而且MSBuild Artifactory Plugin.
构建集成的Artifactory开源版本vs. Artifactory Pro
当使用Artifactory的OSS版本时,构建集成包括通用BuildInfo
视图以及使用Artifactory的REST api遍历和查看构建信息的能力。
Artifactory电源包扩展了这些功能,并提供了模块构件和依赖项视图、构建库视图以及导出和操作构建项的能力。
检查的构建
构建和构建历史
所有将输出部署到Artifactory的CI服务器项目都可以在构建浏览器中访问的是工件模块下构建.
选择一个项目将显示该构建的所有运行,反映CI服务器中的构建历史。
从列表中选择构建项将显示完成构建级别信息.控件下的相应链接,还可以在CI服务器中查看构建CI服务器列。
权限
要查看构建信息,您必须在某个存储库路径上具有“部署”权限。
构建级别信息
您可以选择建立数向下钻取到特定的构建。这将显示有关构建的详细信息,并使您能够将其与以下部分中描述的另一个构建进行比较。
有三类信息:
一般建造资料
此选项卡显示有关构建的一般信息:
的名字 |
分配给正在构建的组件的名称 |
数量 |
构建的特定运行 |
类型 |
使用的构建工具 |
代理 |
管理构建的CI服务器 |
构建代理 |
所使用的构建工具的特定版本 |
开始 |
开始构建时的时间戳 |
持续时间 |
构建的持续时间 |
主要 |
触发此构建的因素。这可能是CI服务器用户,也可能是另一个版本 |
Artifactory主要 |
触发此构建的Artifactory用户 |
URL |
直接链接到构建服务器上的构建信息 |
发布模块
该选项卡显示构建后发布到Artifactory中的模块,以及它们所包含的工件和依赖项的数量。
模块工件和依赖项
选择已构建的已发布模块将显示其构件和依赖项。通过单击相应的列标题,可以按类型或范围对它们进行分组。
您可以点击任何项目直接下载,或点击其回购路径来在树浏览器.
环境
Environment选项卡显示为所选构建定义的属性和环境设置的广泛列表。如果需要重新运行构建,可以使用这些工具精确地重新生成环境。
问题
的问题提供Artifactory、Jenkins CI服务器和JIRA问题跟踪器之间的集成。在使用Jenkins CI时,如果要设置启用JIRA集成Jenkins Artifactory Plugin中的选项问题选项卡将显示此版本已解决的任何JIRA问题。
许可证
的许可证选项卡显示所有工件及其依赖项的详细许可证分析结果。
的总结行显示具有以下状态的工件的数量:
未经批准的 |
发现的许可证尚未批准使用 批准许可 您可以批准在中使用的许可证管理选项卡下配置| license。详情请参阅许可证管理的商品. |
没有找到 |
没有发现该工件的许可证要求。 |
未知的 |
工件需要一个Artifactory不知道的许可证 |
中性 |
已经为工件找到了未批准的许可需求,但是还有另一个已批准的许可。 |
批准 |
工件的所有许可要求都在Artifactory中得到批准。 |
治理
的治理选项卡显示通过黑鸭代码中心许可证分析运行所选构建的结果。
除了查看构建中组件的许可状态外,您还可以看到检测到的安全漏洞列表。
该报告显示组件的下列状态之一:
批准 |
该组件已通过Black Duck代码中心的分析 |
等待 |
该组件正在等待黑鸭检查 |
拒绝了 |
Black Duck代码中心分析拒绝了该组件 |
看到黑鸭代码中心集成要了解有关此功能的更多信息。
构建差异
的Diff选项卡允许您将所选构建与任何其他构建进行比较。中选择生成号后选择要比较的构建字段,Artifactory显示所检测到的构建之间的所有差异,包括添加的新构件、删除的依赖项、更改的属性等等。
版本历史
Release History选项卡显示所选版本的发布地标的列表。
构建信息JSON
通用的BuildInfo
视图
这个选项卡显示原始图像BuildInfo
Artifactory中构建信息的JSON表示。此数据可以通过REST API访问或用于调试,并且也是可用的在Artifactory OSS版本中。
导出和操作构建项
您可以在存储库浏览器中查看构建,并将其作为一个整体及其所有工件和依赖项执行操作。例如,您可以将它提升到另一个存储库、复制它或将它导出到磁盘。
构建的存储库视图
控件中的工件时树浏览器,您可以看到与该工件相关联的所有构建,无论是直接的还是作为依赖项中的构建选项卡
此外,如果您试图删除工件,您将收到一个警告,该构建将不再是可复制的。
即使您在Artifactory中移动或复制工件,工件与构建的关联也会被保留,因为连接到工件校验和的关联保持不变,无论其位置如何。
幕后故事
在幕后,用于CI服务器的Artifactory插件执行两个主要任务:
- 它从Artifactory中的解析存储库中解析所有依赖项。
- 它在构建结束时将所有构件作为原子操作部署到Artifactory,从而在构建多模块项目时保证更一致的部署
(Maven和Ivy在构建周期的末尾部署每个模块。如果其中一个模块出现故障,则可能导致部分部署)。 - 它发送一个
BuildInfo
在部署结束时,通过REST API将数据对象传递给Artifactory。这是一个结构化的JSON对象,以标准和开放的格式包含了所有关于构建环境、工件和依赖项的数据。
发布管理
Artifactory通过插件支持发布管理詹金斯,TeamCity而且竹子.
运行构建时使用Maven或Gradle使用颠覆、Git或必然地作为您的版本控制系统,您可以手动启动一个发布版本,允许您:
更改发行版和下一个开发版本的值
选择要将发布部署到其中的目标登台存储库
为发布创建VCS标记
分阶段发布构建可以稍后进行提升或回滚,在Artifactory中更改它们的发布状态,并选择将构建构件移动到不同的目标存储库。
在Artifactory内部,记录并显示了所有构建状态更改活动的历史(分期、提升、回滚等)为了完全的可追溯性。
要了解有关特定于您的CI服务器的发布管理的更多信息,请参阅: