zoukankan      html  css  js  c++  java
  • jenkins迁移报错处理

    1.流程

    新服务器安装jenkins——停止新旧两台服务器的jenkins——拷贝jobs、plugins、users三个文件夹和config.xml文件——新服务器启动

    注:jobs文件夹拷贝之前可以先清理一下构建历史里的jar文件

    进入jobs文件夹下执行

    find  . -name ".jar"   ——列出当前目录下的.jar文件

    find  . -name ".jar"|wc -l ——获取当前目录下的.jar文件数量(如有构建记录此时应为大于0的数)

    find  . -name ".jar"|xargs rm -rfv ——找到当前目录下的.jar文件并且删除

    find  . -name ".jar"|wc -l    ——获取当前目录下的.jar文件数量(此时应为0)

    2.问题

    其实就是安装然后拷贝然后启动,很简单的呀。

    新服务器安装完的时候尝试访问还是可以访问的。

    可是拷贝完以后启动不起来,报了一个错,类似于下面的内容,当时没有截图,处理了好几天都没有截图。。每次都以为很简单就要解决了

    com.thoughtworks.xstream.mapper.CannotResolveClassException: com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategyat

    Caused: java.io.IOException: Unable to read /var/lib/jenkins/config.xml

    然后各种找资料,各种方式重新拷贝,折腾了好久就是不行。

    然后看了一个说可以把config.xml删了,结果看到了一点成效,虽然还是没起来,但是错误改变了,变成了无法创建builds目录并且无法创建成功。

    然后再开始着手解决这个问题,手动创建了builds目录也不管用呀。

    然后又尝试把config.xml文件里的验证策略部分删 了,还是不行。。。。还是说找不到builds目录

    3.解决

    最终最终,居然是权限的问题!!!!!

    我从旧服务器拷贝过来的文件是用root操作的,也就是root权限,然后jenkins的启动用户是在配置文件里设置的,就算是用root用户执行service jenkins start命令,启动的时候也是用jenkins用户去执行,结果就是访问不了jenkinshome下的文件夹,然后就出现了各种问题。

    chown将根目录修改为jenkins用户后,启动正常。

    用root账户启动的时候也考虑过会不会启动有问题,尝试切换到jenkins账户,结果是不能切换的,jenkins在安装的时候会自动创建一个不能登录的账号用来执行一些列操作,然后启动用户也默认为该用户(可以修改)。

    4.备用

    默认日志位置:/var/log/jenkins/

    配置文件位置:/etc/sysconfig/jenkins        ——可配置启动用户、端口和根目录位置等内容,安装过程中的配置

    根目录下配置文件:config.xml      ——项目相关,使用过程中的配置

  • 相关阅读:
    1、安装electron
    Bootstrap fileinput v3.0(ssm版)
    Bootstrap fileinput v2.0(ssm版)
    网络概念
    win10远程桌面连接提示身份验证错误,要求的函数不受支持的解决方案
    Quartz 定时任务时间设置
    牛顿迭代法快速寻找平方根
    mysql 中出现:不能打开到主机的连接,在端口3306: 连接失败
    spring boot+mybatis+generator生成domain大小写问题
    Decoder is not a @Sharable handler, so can't be added or removed multiple times
  • 原文地址:https://www.cnblogs.com/raffia/p/15179373.html
Copyright © 2011-2022 走看看