2015-05-20 49 views
0

我使用jenkins作为CI工具并使用ant在svn repository中使用源进行构建。詹金斯的每个项目都有自己的图书馆。这在构建过程中需要詹金斯的空间。有没有办法让所有的jenkins或ant版本都有一个lib文件夹。所有项目的公共库文件

+0

您可以考虑使用Maven存储库来存储常见的二进制文件。然后,可以使用Maven ANT任务和Apache ivy等客户端工具来记录每个项目所依赖的内容。高级话题,但值得研究 –

回答

0

是的!我经常遇到大项目的这个问题。

为了让所有工具和共享库具有单个回购库位,请将所有工具库&添加到单个回购库并将其添加到单个作业。

然后我们安排工具回购每晚运行以确保工具已更新。节点标签插件允许您同时在所有节点上运行作业。使用工具回购更新所有ndoes。

然后你参考你主要工作中的工具回购。该工具的回购工作空间将达到从其他工作一个相对路径:

“%WORKSPACE%.... \ ToolsRepo \工作区\”

或者你也可以在工具回购添加工具到您的詹金斯env被导出到每个构建节点的变量。我更喜欢前者,因为向詹金斯大师添加变量假定所有构建节点具有相同的设置,相同的操作系统等,但情况并非总是如此。

编辑:添加以下内容: 您可以让ant将库项目的svn签出到子目录(如。\ lib)下的当前工作目录中。或者您可以从您的图书馆作业的工作区下载最新的构建工件。因此,如果“Job1”是存储每个库的已批准版本的作业,而Job2是当前作业,则可以直接从Job2内部引用最新的构建工件(存储在jenkins服务器上)。

+0

谢谢你的回答。有没有办法从远程服务器通过ant调用lib文件 – qaepk

+0

是的,你可以让ant将库项目的svn签出到子目录(如。\ lib)下的当前工作目录中。 或者您可以从您的图书馆作业工作区下载最新的构建工件。因此,如果“Job1”是存储每个库的已批准版本的作业,而Job2是当前作业,则可以直接从Job2内部引用最新的构建工件(存储在jenkins服务器上)。 – JasonRobinson

相关问题