【问题标题】:Force Jenkins to get from remote repository强制 Jenkins 从远程存储库获取
【发布时间】:2014-01-31 21:00:28
【问题描述】:

我在不同的分支中为同一个项目有两个构建作业 - Live 和 Dev 两者的 pom 文件是相同的,我使用配置文件添加不同的远程存储库,用于存储每个分支的依赖项。例如,工件 core-SNAPSHOT.jar 存在于两个存储库中。

我有一个问题,如果构建了 Dev 分支项目,并且 Dev core-SNAPSHOT.jar 已更新,它将从 Dev 存储库下载并存储在本地存储库中。然后,如果构建了 Live 分支项目,它将使用本地 core-SNAPSHOT.jar,因为这将比 Live 存储库中的最新版本更新。既然核心依赖是一个SNAPSHOT版本,是不是应该每次构建项目都要重新下载?

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

谢谢, 达米安

【问题讨论】:

    标签: maven jenkins repository jenkins-plugins


    【解决方案1】:

    看来我自己也想通了。

    对于任何可能感兴趣的人。我在我的 Jenkins 服务器上创建了单独的目录,并且我已经将构建作业配置为根据分支使用不同的本地存储库。在 Jenkins 构建的“目标和选项”中,我添加了

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

    这意味着,如果我更新 Dev 分支中的任何内容,它将拉下最新的 Dev 依赖项,如果我稍后构建 Live 项目,他们将继续使用旧的依赖项项目。

    【讨论】:

      猜你喜欢
      • 2019-01-03
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 2011-04-08
      • 2018-01-02
      • 2016-07-06
      相关资源
      最近更新 更多