如何在同一台机器上运行两个版本的Sonatype Nexus?

时间:2015-10-23 19:58:23

标签: nexus sonatype

所以我刚刚开始研究一个项目,我的任务是将在CentOS6上运行的sonatype nexus 1.9.x升级到2.11.x.旧版本目前通过war文件部署。目标是在开发人员尝试构建项目时,在不破坏构建的情况下部署新版本。

我的攻击计划是下载nexus。使通过tomcat部署的当前nexus在不同的端口上运行,使新的nexus在当前端口上运行,然后代理旧的nexus。

我遇到了几个问题。旧的nexus使用java 1.6。如果将java更新为1.8,是否会破坏当前运行的nexus?

我可以在同一个vm上运行两个版本的nexus吗?如果是这样的话,我该如何做到这一点,并尽量减少弄乱一些东西的变化?

谢谢大家。我刚刚开始,这对我来说都很新鲜。

1 个答案:

答案 0 :(得分:0)

由于你的Nexus安装已经很久了,你必须考虑你的选择:

  1. 您可以升级现有实例。 1.9非常老,所以你必须分多步升级。首先是2.0,然后是2.7,然后是2.11。由于配置和删除升级步骤的数据存储更改,这是必要的。

  2. 您可以在存储库和其他方面使用相同的配置从头开始重新配置新服务器,只需将代理服务器同步到新存储器即可。您实际上只需要为托管存储库执行此操作,因为代理存储库有望仍然在线,您只需下载任何重新请求的内容。

  3. 如果您的设置不是太复杂,我会亲自选择2.它让您有机会重新审视并清理您的设置。

    对于该设置,步骤大致如此。

    1. 与Java 6并行安装Java 8
    2. 从捆绑包安装Nexus 2.11,以便它与Eclipse Jetty一起运行。不要试图在Tomcat上运行。
    3. 将其配置为使用原始设置在端口9081或其他一些非冲突端口上运行,并执行所有其他配置,包括根据需要创建存储库以及安全设置。
    4. 现在您应该可以让两台服务器都运行。

      1. 创建一个rsyncs存储库(位于sonatype-work / nexus / storage中)并使​​用新服务器脱机运行它的脚本
      2. 并行启动新的Nexus并对其进行多项测试。
      3. 一旦您确认了切换的特定时间的所有工作计划,并执行此操作

        1. 禁用对Nexus的任何部署(CI服务器,告诉人们,将托管存储库切换为只读)
        2. 最后一次运行rsync脚本
        3. 关闭旧的Nexus服务器
        4. 配置新服务器以使用旧服务器的端口
        5. 启动新的
        6. 你完成了。一切都应该是好的,所以最后一步是删除旧的Nexus和Tomcat设置。

          当然,这个过程有各种变化。以下是一些tips for the rsync.

          也可以随时通过mailing list or chat与我们联系以获取进一步的帮助,并查看comprehensive documentation