2014-01-31 41 views
0

我有两个构建作业,用于不同分支中的同一项目 - Live和Dev pom文件在这两个文件中都是相同的,我使用配置文件来添加不同的远程存储库,每个分支。例如,两个存储库中都存在工件核心SNAPSHOT.jar。强制詹金斯从远程存储库中获取

我有一个问题,如果Dev分支项目已经建好,并且Dev core-SNAPSHOT.jar已经更新,它将从Dev仓库下载并存储在本地仓库中。然后,如果Live分支项目构建完成,它将使用本地核心SNAPSHOT.jar,因为这将比Live资源库中的最新版本更新。由于核心依赖项是SNAPSHOT发行版,每次项目构建时是否应该再次下载它?

有没有办法告诉jenkins构建作业每次构建时强制下载特定的依赖关系,还是创建2个独立的本地存储库并将相关构建作业指向每个作业?由于我们在Dev和Live中有大约20个项目,都有共享相同的家属,因此拥有特定于工作的存储库并不是很理想。

感谢, 达米安

回答

0

看起来我已经想通了自己。

对于任何可能感兴趣的人。我在我的Jenkins服务器上创建了单独的目录,并且根据分支配置了我的构建作业以使用不同的本地存储库。在詹金斯建设的目标和选项“,我说

-Dmaven.repo.local=/var/lib/jenkins/repositories/{branchSpecificRepository}/ 

这意味着如果我更新的Dev分支什么,那将拉低了最新开发的依赖性,如果我以后建的一些项目,他们将继续使用较旧的依赖项目。