Jenkins 报错合集

Jenkins 报错合集

[TOC]

一.启动项目显示,没有接受许可之前不能够自动安装

原因:
安装jdk或者maven选择的自动安装,但没有去勾选许可

解决:
系统管理-》全局工具配置,勾选许可
file

二.明明配置了jdk但还是说找不到


解答:
找不到jdk,这个jdk是后期源码部署的。所以即使后面配置完jdk,他依然去原先的环境变量寻找jdk。

操作:
配置上jdk所在目录,重启jenkins即可

三.jenkins-RestAPI调用出现Error 403 No valid crumb was included in the request解决方法

使用CRUMB方式,不要去看网络上那种关闭跨站点请求策略,那样不安全。
CRUMB=$(curl -s 'http://用户名:用户的token/用户密码@10.0.12.9:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')

curl -X POST -H "$CRUMB" http://用户名:用户的token/用户密码@10.0.12.9:8080/job/test-a/build

四.jenkins用pipline启动tomcat启动不起来

在普通的shell环境中,nohup,并且& 某个程序后,会抛到后台执行,在退出当前shell环境后,程序依然可以执行。

但是在Jenkins中,通过nohup,且使用&之后,step结束后,执行的程序还是会退出,导致程序起不来。

尝试和验证了很多方法,后面都是这样解决的。
修改JENKINS_NODE_COOKIE的值,这样后续结束的时候,后面的sh程序就不会被kill掉了。

sh"""
JENKINS_NODE_COOKIE=dontKillMe

/tomcat/bin/startup.sh
"""

五.Jenkins报错Error cloning remote repo ‘origin’

Jenkins配置了2个节点,但是只有master安装了git,很有可能任务被调到slave上执行所以报错

解决办法

  • slave安装git
  • 指定任务在master执行

六.jenkins添加从节点失败

jenkins在添加从节点时
可以在启动方式中选择:Non verifying Verification Strategy

七.Jenkins配置ldap错误导致无法登陆的问题

为了方便用户管理,通过ldap集中式认证,让Gitlab和Jenkins都接入,这样就省去每个系统都是要创建用户的麻烦了。

运维人员都会有这样的操作,修改任何配置文件前都会来一个备份。就是确保万一出错了可以回到之前的状态。所以建议就是Jenkins配置的问题,特别是这个登陆认证的配置,一搞错了就无法登陆。甚至无法正常访问到系统。
默认Centos7使用rpm安装的目录为:/var/lib/jenkins/

备份配置文件:config.xml

[root@jenkins ~]# cp /var/lib/jenkins/config.xml{,$(date +%F)}
[root@jenkins ~]# ls /var/lib/jenkins/config.xml
config.xml            config.xml2019-06-12

然后在config.xml配置文件中找到这段关于ldap认证的信息:

  <securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.20">
    <disableMailAddre***esolver>false</disableMailAddre***esolver>
    <configurations>
      <jenkins.security.plugins.ldap.LDAPConfiguration>
        <server>ldap://XXXXXX.com:389</server>
        <rootDN>dc=XXXXXX,dc=com</rootDN>
        <inhibitInferRootDN>false</inhibitInferRootDN>
        <userSearchBase></userSearchBase>
        <userSearch>uid={0}</userSearch>
        <groupMembershipStrategy class="jenkins.security.plugins.ldap.FromGroupSearchLDAPGroupMembershipStrategy">
          <filter>cn=jenkins</filter>
        </groupMembershipStrategy>
        <managerDN>uid=jarry,ou=People,dc=XXXXXX,dc=com</managerDN>
        <managerPasswordSecret>{AQAAABAAAAAQWfZrb7qoIjewuj3SK/z53/oRo86cW5wi/t07QeW/4mM=}</managerPasswordSecret>
        <displayNameAttributeName>uid</displayNameAttributeName>
        <mailAddressAttributeName>mail</mailAddressAttributeName>
        <ignoreIfUnavailable>false</ignoreIfUnavailable>
        <extraEnvVars class="linked-hash-map">
          <entry>
            <string></string>
            <string></string>
          </entry>
        </extraEnvVars>
      </jenkins.security.plugins.ldap.LDAPConfiguration>
    </configurations>
    <userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
    <groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
    <disableRolePrefixing>true</disableRolePrefixing>
  </securityRealm>

上面的配置不当导致了无法通过ldap认证,而且导致jenkins也无法正常登陆了,可以把上面一段修改成以下样子:

   <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
     <disableSignup>false</disableSignup>
     <enableCaptcha>false</enableCaptcha>
   </securityRealm>
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论