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      ——项目相关,使用过程中的配置

  • 相关阅读:
    OpenGL------光照+染色
    sicily 1345 能量项链
    sicily 1193 Up the Stairs
    sicily 1172 Queens, Knights and Pawns
    sicily 1206 Stacking Cylinders
    模拟退火算法解tsp问题
    js对象的属性可以是一个变量
    vue中/deep/的使用
    MySQL中DATEDIFF函数使用
    js中的this
  • 原文地址:https://www.cnblogs.com/raffia/p/15179373.html
Copyright © 2011-2022 走看看