- ant/
- Ant 如何在ivy中为开发人员透明地发布额外的元工件?
Ant 如何在ivy中为开发人员透明地发布额外的元工件?
Ant 如何在ivy中为开发人员透明地发布额外的元工件?,ant,ivy,artifactory,Ant,Ivy,Artifactory,我们有一个构建系统,它构建了很多组件。构建组件通过artifactory中的ivy发布其构件
我想在每个组件发布期间附加一个额外的元工件,但对开发人员来说是透明的。这个元工件将包含关于构建代理、构建日志、变更日志等的信息。
我有权访问构建代理,因此我可以:
更改生成代理上的某些常春藤配置文件
在构建代理上安装带有补丁的定制常春藤
修改ivysettings.xml文件
我在常春藤的文档中没有找到任何信息。然而,我知道在常春藤源代码中有类似“options.getExtraArtifacts(
我们有一个构建系统,它构建了很多组件。构建组件通过artifactory中的ivy发布其构件
我想在每个组件发布期间附加一个额外的元工件,但对开发人员来说是透明的。这个元工件将包含关于构建代理、构建日志、变更日志等的信息。
我有权访问构建代理,因此我可以:
- 更改生成代理上的某些常春藤配置文件
- 在构建代理上安装带有补丁的定制常春藤
- 修改ivysettings.xml文件
我在常春藤的文档中没有找到任何信息。然而,我知道在常春藤源代码中有类似“options.getExtraArtifacts()”的方法,所以我想有一种方法
等待你的建议
提前谢谢
UPD:
我发现“options.getExtraArtifacts()”在“publish”标记中为“artifact”子标记提供服务:
选项1:人工元数据
您正在使用ArtifactoryPro吗?我本人不是用户,但文档描述了将任意基于XML的元数据附加到Artifactory中存储的任何工件的能力。独立REST API,从您的构建中调用应该很简单:
这种方法的最大优点是可以搜索这些数据
选项2:詹金斯插件
同样,我不是Artifactory用户,但我一直对这个插件很感兴趣,据说它提供了Jenkins和Artifactory之间的紧密集成。相关位是插件发布的所谓“构建信息”。我会很惊讶,如果这不包括一些信息,你寻找
选项3:附加自定义元数据文件
典型的Maven存储库不支持元数据。Artifactory和Nexus都有定制的扩展,在这两种产品中,这种功能似乎都是付费的
如果您只想存储元数据,而不关心缺少搜索界面,那么为什么不简单地附加一个包含元数据的文件作为附加模块文件呢?以下示例说明了如何执行此操作:
选项4:常春藤额外属性
只有当您将数据存储在常春藤存储库中时(您更可能使用Maven repo格式),这才是一个选项
Ivy能够在Ivy模块文件中存储自定义属性
下面的答案描述了如何利用这些信息来影响常春藤资源库的布局