授权哈德逊与Artifactory -跟踪和回放您的构建工件
概述
在本文中,我将演示如何进行集成哈德逊与JFrog的人工存储库管理器拥有完整的构建到工件可追溯性。我们将使用Artifactory插件来部署Hudson构建构件,并跟踪它们回到它们的原始位置构建。
保留代码的历史记录和可再现性是任何现代项目的必备条件。
使用一种不同风格的版本控制应用程序,您可以使用SCM标记的不同方法轻松地重现过去任何一点的状态。
但是当你想从某一相生成二元产物时会发生什么呢?hth华体会最新官方网站
是否考虑了依赖关系?有没有人真的记得在应用程序的1.0版本或3.1版本中使用了哪个版本的依赖项X ?如果使用版本范围或动态属性会怎样?应用程序是使用JDK 5还是6编译的?
所有这些信息都可以在二进制文件发布期间记录下来,这通常由您选择的CI服务器完成。
您的CI服务器具有重现构建所需的所有知识:
- 关于构建本身的信息
- 已发布的项目
- 版本信息
- 依赖关系
- 构建环境细节
但是你怎样才能获取所有这些数据呢?这就是Artifactory发挥作用的地方!
Artifactory(v2。1.3+ OSS)是开放的,可以从任何构建过程中接收跟踪/重现构建所需的信息——这些信息的发送者通常是您的构建服务器!
信息被传递通过其他以BuildInfo JSON对象的形式,包含有关模块、工件、依赖项、环境、属性等的详细信息。
所有构建二进制文件提供了双向链接,使您能够重现和分析任何操作的影响。
要安装Artifactory插件,只需从主菜单中浏览到“Manage Hudson”->“Manage Plugins”->“Available”选项卡,并勾选启用“Artifactory插件”。下载并安装插件后,重新启动Hudson以使更改生效。现在,我们将在系统级别上配置插件,并将其指向我们想要发布信息的Artifactory(请注意,Artifactory此时应该正在运行并且可用)。
要做到这一点,通过“Manage Hudson”->“Configure System”进入“Configure System”菜单,然后配置URL(直到应用程序上下文名称,如“http”)://本地主机 :8081 /artifactory)和可选凭据(如果启用了匿名访问,则不需要提供它们)。对经过身份验证的用户的凭据的需求来自于这样一个事实:Hudson请求一个列表可部署的这样您就可以在以后的阶段选择二进制文件的目标。
注意,您可以添加多个Artifactory配置来满足您的需求。接下来,我们将在“作业”级别配置插件。
通过选择Job并单击“configuration”链接来输入Job配置。向下滚动到Post-build行动选项组,并选择“将工件部署到Artifactory”。选中后,菜单将展开,并允许您选择要部署的“Artifactory服务器”和“目标存储库”。正如字段名称和您提供的“部署人员用户名”和“部署人员密码”凭证所暗示的那样,您必须对所选择的目标存储库具有“部署”权限。
能够从直接从Artifactory接收到的现成列表中选择部署目标,可以帮助您避免配置带有拼写错误的“分发管理”的陷阱。Artifactory插件通过REST API,它优化了唯一/非唯一快照的过程,并且不需要在settings.xml和POM文件中配置凭据和分发管理。
与Maven不同的是,Maven在构建完成时部署每个模块(如果在某个时候构建失败,可能会导致项目构件的部分部署),Artifactory插件仅在整个构建成功完成时部署(与内置的Hudson非常相似)部署人员).每个部署的工件都被标记为buildName和buildNumber属性,最后发布Build Info。此时,您可以运行Job,然后查看“控制台输出”以查看部署和构建信息发布日志消息。
Artifactory的构建管理
现在作业已经完成,工件已经部署,并且构建信息已经发布,我们可以通过点击新的“Browse”下的“artifacts”选项卡来查看Artifactory中的构建信息:构建”子菜单。
请注意,构建浏览器的顶部显示了可导航的面包屑,这些面包屑也与RESTful URL同步,该URL提供了对每个构建的每个部分的轻松访问。
常规信息选项卡显示有关构建的主要详细信息(名称、编号、类型、等等)属性,甚至可以将已发布模块的工件和依赖项保存为已保存的搜索结果(需要“Smart Searches”插件)。单击模块的名称将显示作为所选模块一部分的工件和依赖项的列表。
删除与。关联的工件时构建,无论是作为产品还是依赖项,Artifactory都会在删除之前通知您该关联。
发布模块的推广也可以通过“保存搜索结果”操作来实现,该操作可以通过“通用构建信息”选项卡获得(需要“智能搜索”附加组件)。
此外,buildName和buildNumber属性,允许我们通过属性搜索器手动搜索构建工件(需要“properties”附加组件)。
结论
使用Hudson(以及即将支持的其他工具)和Artifactory,我们已经:
- 为Hudson提供了来自artifactory的所有需要的依赖项——帮助我们保留每个构建中使用的确切依赖项
- 将所有生成的二进制文件部署到artifactory—帮助我们保留和推广构建的所有产品hth华体会最新官方网站
- 发布到artifactory的构建信息——帮助我们管理和跟踪每个构建、环境、产品和依赖项
在这些工具和方法的帮助下,您将能够从记录的任何时间点重现和执行构建,或者比较不同构建之间的信息。
您可能想要访问我们的构建集成wiki页面以获得更深入的过程解释。
玩得开心,小心不要破坏构建。