詹金斯:将Java6升级到Java8有什么风险?

詹金斯:将Java6升级到Java8有什么风险?,java,jenkins,glassfish,upgrade,compatibility,Java,Jenkins,Glassfish,Upgrade,Compatibility,在工作中,我继承了詹金斯的两个例子。一个是在Java1.5上运行遗留作业。另一个在Java1.6上运行较新的项目 我被要求将这两个实例升级到Java1.8 这将涉及升级: Java1.6到1.8 詹金斯从1.460降到1.614 玻璃鱼从3.1.2到4.1 问题: 当我开始升级时,我应该注意什么?(例如,从JDK6升级到JDK8的风险) 这些版本之间是否存在已知的兼容性错误?您正在同时升级三个内容。。。不仅仅是Java的版本。。。因此,很难可靠地识别风险。(风险可能没有那么大,但如果你想降低

在工作中,我继承了詹金斯的两个例子。一个是在Java1.5上运行遗留作业。另一个在Java1.6上运行较新的项目

我被要求将这两个实例升级到Java1.8

这将涉及升级:

  • Java1.6到1.8
  • 詹金斯从1.460降到1.614
  • 玻璃鱼从3.1.2到4.1
问题:

当我开始升级时,我应该注意什么?(例如,从JDK6升级到JDK8的风险)


这些版本之间是否存在已知的兼容性错误?

您正在同时升级三个内容。。。不仅仅是Java的版本。。。因此,很难可靠地识别风险。(风险可能没有那么大,但如果你想降低风险,那对你来说就太模糊了。)

然而,我并不认为“识别风险”是你应该关注的。你应该做的是制定一个升级策略,使风险变得无关紧要。基本上,您需要一个有保证的回滚策略,以防升级失败

我会这样做:

  • 获取新服务器计算机或新虚拟机
  • 在新服务器上安装Java和Glassfish的新版本
  • 通过以下方式克隆现有Jenkins实例:
    • 备份现有Jenkins实例的状态(请参阅)
    • 在新服务器上安装与现有实例相同版本的Jenkins
    • 将备份还原到新服务器上
  • 检查新服务器是否正常工作(仍然是旧版本)
  • 使用Jenkins的自动升级功能将新服务器升级到目标版本
  • 安装Jenkins插件等
  • 测试新服务器
  • 将新服务器投入生产
这里的关键是,您正在一个新系统上进行升级。如果升级出现问题,您现有的系统仍处于正常工作状态。如有必要,您可以多次重复该过程,直到正确为止,或者您可以在团队其他成员继续使用当前生产CI系统的同时,花上几天或几周的时间调整新的CI系统


您可以借此机会刷新基本操作系统

请不要在没有提出改进建议的情况下拒绝投票。我不做报复性的投票-你是安全的。获得一个新的虚拟机是一个开始。但是你能帮助我在Java8上构建Java6Web应用程序的策略吗。你可以问一个新问题,但请注意,这个问题被关闭为“太宽”。。。你的可能也会。