美文网首页
Jenkins之迁移

Jenkins之迁移

作者: 锐心凌志 | 来源:发表于2019-03-20 17:28 被阅读0次

    将老服务器jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录拷贝到新机器的jenkins主目录下。如果没有plugins这个插件,就会导致有些job查找不到了。

    拷贝4个目录
    在jenkins的数据卷目录下面,需要拷贝jobs、users、workspace、plugins四个目录,才可以完成升级任务

    常见问题
    1、You have data stored in an older format and/or unreadable data.
    出现这个问题,就是由于没有导入以前plugins目录,导致没有找到类,所以才报错了,解决方案,就是查看报啥错,然后安装对应的插件。

    2、There appears to be a large number of jobs. Did you know that you can organize your jobs to different views? You can click ‘+’ in the top page to create a new view any time.
    这个意思是说,你要自己建立一个视图,这个不是报错,所以无所谓了。

    sudo: cd: command not found
    那就是sudo su 或者sudo -sH 默认缺省为获取root 用户

    迁移步骤为:
    1)先关闭新老服务器的tomcat程序,确保迁移时新老机器的jenkins都处于关闭状态。jenkins程序关闭最好是直接kill掉jenkins的tomcat程序pid。
    2)将老服务器jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录拷贝到新机器的jenkins主目录下。
    3)重启新服务器jenkins的tomcat程序。
     
    迁移的时候可以直接将jenkins主目录数据整个拷贝过去,也可以单独拷贝jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录(这是主要的迁移数据)。一般来说,手动设置好jenkins主目录路径,启动jenkins后就会自动生成(但要确保jenkins用户有权限创建这个主目录,最好是提前手动创建并赋予jenkins启动用户的权限)
     
    关闭老机器的jenkins程序
    [root@code-server ~]# lsof -i:8080
    COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
    bundle   13481  git   15u  IPv4 2839661      0t0  TCP localhost:webcache (LISTEN)
    [root@code-server ~]# kill -9 13481
     
    新机器的jenkins程序也要同样关闭
     
    拷贝老服务器的jenkins主目录或者上面说的那几个重要数据到新机器的jenkins主目录下
    [root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/ root@10.0.8.60:/data/jenkins/
     
    或者
    [root@code-server ~]# rsync -e "ssh -p22" -avpgolr /data/jenkins/config.xml root@10.0.8.60:/data/jenkins/
    [root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/users/ root@10.0.8.60:/data/jenkins/users/
    [root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/plugins/ root@10.0.8.60:/data/jenkins/plugins/
    [root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/jobs/ root@10.0.8.60:/data/jenkins/jobs/
    [root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/workspace/ root@10.0.8.60:/data/jenkins/workspace/
     
    尤其是plugins目录,最好保证新机器下的这个目录和老机器下的这个目录数据保持一致。否则容易造成新机器的jenkins访问报错
     
    最后启动新机器的jenkins服务
    [root@jenkins01 ~]$ /data/tomcat8.5/bin/startup.sh
    [app@jenkins01 ~]$ lsof -i:8080
    COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    101037  app   46u  IPv6 498942      0t0  TCP *:webcache (LISTEN)
    

    参考文章
    https://www.cnblogs.com/topplay/p/3899330.html
    https://www.cnblogs.com/kevingrace/p/8076488.html
    https://www.cnblogs.com/kevingrace/p/8076488.html

    相关文章

      网友评论

          本文标题:Jenkins之迁移

          本文链接:https://www.haomeiwen.com/subject/uxdmdqtx.html