zoukankan      html  css  js  c++  java
  • jenkins迁移升级简述

    1、迁移背景
    原有jenkins版本为2.32.2,由于需要安装git parameter插件,插件安装失败,依赖暂时无法解决,因此决定升级jenkins版本,升级版本为2.121.2。
     
    2、jenkins数据存储文件列表:

    config.xml:jenkins的全局权限配置以及其他配置文件

    credentials.xml:jenkins的凭据配置文件,此处为git服务用户凭据配置文件;

    jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml:jenkins的publish over ssh服务器配置文件;

    jobs目录:jenkins jobs配置目录,包含job权限、git地址、打包方式等配置;

    users目录:jenkins users用户目录,包含jenkins的用户配置目录。

     
    3、jenkins升级操作:
    jenkins下载地址:https://jenkins.io
    此处使用war包进行升级,部署目录为/usr/local/jenkins,启动命令如下:
    nohup java -Xms4096M -Xmx4096M -Dcom.sun.akuma.Daemon=daemonized -Djav.awt.headless=true -DJENKINS_HOME=/data/jenkins-2.121.2 -jar /usr/local/jenkins-2.121.2/jenkins.war 
    --logfile=/usr/local/jenkins-2.121.2/jenkins.log --webroot=/usr/local/jenkins-2.121.2/war --daemon --httpPort=8081 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 &
    将原jenkins数据存储文件复制到升级之后的jenkins的家目录下,此处新jenkins家目录为:/data/jenkins-2.121.2。
    复制完成之后,需要重启jenkins,相关配置才能生效。
     
    4、jenkins常用插件列表:
    在启动jenkins时,安装插件采用"推荐插件进行安装",则会默认安装一些常用插件,包含git、svn等相关插件。
    需要额外安装的插件列表如下:
    git parameter插件:为了方便开发参数化构建,指定分支进行构建。
    phing插件:为了实现php代码打包。 publish over ssh插件:为了实现ssh远程分发代码包,同时执行解压等相关操作。 Extended Choice Parameter Plug
    -In插件:可以实现配置可选择的参数,同时将该参数作为全局变量进行使用。
    Dynamic Extended Choice Parameter插件:设置动态参数

    5、问题解决

      安装完成jdk、gradle之后,在命令行输出$JAVA_HOME正确,但是在打包时候报错如下:

    ERROR: JAVA_HOME is set to an invalid directory: /usr/local/jdk1.8.0_152
    Please set the JAVA_HOME variable in your environment to match the
    location of your Java installation.

    解决方案如下:
    编辑gradle命令文件,在脚本的
    #!/usr/bin/env sh行下边新增一行:JAVA_HOME="/usr/local/java",指明JAVA_HOME目录。
    在将相关文件复制到新的jenkins服务器上,启动完成之后,在打包项目的时候,发现控制台输出报以下错误:

    ln builds/lastSuccessfulBuild /data/jenkins/jobs/javademo-v1/lastSuccessful failed java.nio.file.DirectoryNotEmptyException: /data/jenkins/jobs/javademo-v1/lastSuccessful at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:242) at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108) at java.nio.file.Files.deleteIfExists(Files.java:1165) at hudson.Util.createSymlink(Util.java:1351) at hudson.model.Run.createSymlink(Run.java:1954) at hudson.model.Run.updateSymlinks(Run.java:1935) at hudson.model.Run.execute(Run.java:1813) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) ln builds/lastStableBuild /data/jenkins/jobs/javademo-v1/lastStable failed java.nio.file.DirectoryNotEmptyException: /data/jenkins/jobs/javademo-v1/lastStable at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:242) at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108) at java.nio.file.Files.deleteIfExists(Files.java:1165) at hudson.Util.createSymlink(Util.java:1351) at hudson.model.Run.createSymlink(Run.java:1954) at hudson.model.Run.updateSymlinks(Run.java:1936) at hudson.model.Run.execute(Run.java:1813) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429)

    解决方案:
      删除相关jobs目录下的lastStable、lastSuccessful文件夹,之后在构建时会重新创建软连接。此处假设jenkins数据目录为:/data/jenkins。在/data/jenkins/jobs目录下执行如下命令:
        find ./ -maxdepth 2 -type d -name "lastSuccessful" -exec rm -rf {} ;
        find ./ -maxdepth 2 -type d -name "lastStable" -exec rm -rf {} ;
      删除完成,再重新构建,发现报错消失。
  • 相关阅读:
    【C#图解教程学习笔记】第13章 委托
    TreeView树,全选,反选,平级选操作
    C# 字符串和字节数组转换
    WebServices 使用Session
    Win8.1下Flash Builder 提示: 找不到所需的Adobe Flash Player调试器版本,解决办法
    C# winform DataGridView 绑定数据的的几种方法
    .NET Core GB2312
    [WPF 学习] 7.2 模板打印
    [WPF 学习] 7.1 多页打印
    [WPF 学习] 7 打印相关的东东
  • 原文地址:https://www.cnblogs.com/crysmile/p/9483052.html
Copyright © 2011-2022 走看看