我使用jenkins作为CI工具并使用ant在svn存储库中使用源代码构建。詹金斯的每个项目都有自己的图书馆。这在构建过程中占据了jenkins的空间。有没有办法让所有jenkins或ant build都有一个共同的lib文件夹。
答案 0 :(得分:0)
是的!我经常遇到大型项目的问题。
为了拥有所有工具和共享库的单个仓库位置,请添加所有工具&将库添加到单个存储库中并将其添加到单个作业中。
然后我们安排工具仓库每晚运行以确保工具更新。 Node Label Plugin允许您同时在所有节点上运行作业。这会使用工具仓库更新所有ndo。
然后您在主要工作中引用工具仓库。 Tools repo工作区将与其他作业建立一条相对路径:
"%WORKSPACE%.... \ ToolsRepo \工作空间\"
或者您可以将工具仓库中的工具添加到您的jenkins env变量中,这些变量将导出到每个构建节点。我更喜欢前者,因为向jenkins master添加变量假设所有构建节点都具有相同的设置,相同的操作系统等,但情况并非如此。
编辑:添加以下内容: 你可以让ant执行一个svn checkout of library项目到子目录下的当前工作目录(例如。\ lib)。或者,您可以从库作业的工作区下载最新的构建工件。所以如果" Job1"是存储每个库的已批准版本的作业,Job2是当前作业,然后您可以直接从Job2内部引用最新的构建工件(存储在jenkins服务器上)。