Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何组织多个项目使用的ant宏定义?_Ant_Jenkins_Continuous Integration - Fatal编程技术网

如何组织多个项目使用的ant宏定义?

如何组织多个项目使用的ant宏定义?,ant,jenkins,continuous-integration,Ant,Jenkins,Continuous Integration,我希望我的每个Git存储库都有自己的build.xml文件,但避免复制粘贴不同构建脚本使用的大量宏定义 组织这次会议的最佳方式是什么 将ant Macrodef添加到单独的Git存储库中,并使它们可用于my Jenkins服务器上的所有构建项目? 例如,将它们添加到Ant安装文件夹的目录中 有人对这种设置有经验吗?我也有经验。我强烈认为每个项目都应该是独立的,而不是依赖于另一个源代码存储库。为了实现这一点,我将常用的macrodef打包为一个。这些只是jar文件,可以像其他第三方任务一样导入到A

我希望我的每个Git存储库都有自己的build.xml文件,但避免复制粘贴不同构建脚本使用的大量宏定义

组织这次会议的最佳方式是什么

将ant Macrodef添加到单独的Git存储库中,并使它们可用于my Jenkins服务器上的所有构建项目? 例如,将它们添加到Ant安装文件夹的目录中


有人对这种设置有经验吗?

我也有经验。我强烈认为每个项目都应该是独立的,而不是依赖于另一个源代码存储库。为了实现这一点,我将常用的macrodef打包为一个。这些只是jar文件,可以像其他第三方任务一样导入到ANT构建中

下面的答案解释了如何创建antlib:

这种方法的最大优点是将ANTlib jar保存在Nexus这样的版本化存储库中。我使用来管理我的依赖项,这允许对我的通用构建逻辑进行版本控制,使我能够安全地更改逻辑,而不会破坏旧的构建。仔细想想,这和Maven实现的工作流是一样的(Maven也下载插件)