Jenkins常见报错(持续更新)

1、Jenkins连接Git仓库时候报错Permission denied, please try again.

Jenkins常见报错(持续更新)

解决方法(1):

jenkins 使用root 用户运行jenkins (因为是使用的是Yum的安装方式,默认启动是以jenkins 用户运行的,但是我们签发的证书是在root 下签发的,所以提示权限拒绝)

[root@jenkins .ssh]# vim /etc/sysconfig/jenkins

Jenkins常见报错(持续更新)

改为root ,再重新运行下 jenkins

解决方法(2):

使用jenkins 用户 生成ssh key

参考地址: cnblogs.com/cyleon/p/11887412.html

连接git 服务器,设置连接方式为,

Jenkins常见报错(持续更新)

Jenkins常见报错(持续更新)

 

 

2、使用jenkins增强版插件 但是邮件通知 收不到

场景:

新建job ,配置构建后操作,选择E-mail Notification

点击 选择 Advanced Settings…

Jenkins常见报错(持续更新)

可以看到 默认通知的对象是 Developers ,而不是 Recipient List

所以我们需要把原先的 Developers都给删除了,添加 Recipient List 通知对象

Jenkins常见报错(持续更新)

Jenkins常见报错(持续更新)

这样就能 收到测试邮件了

 

3、解决jenkins自动关闭衍生的子进程问题(脚本没有执行结束就退出了)

修改JENKINS_NODE_COOKIE的值,这样后续结束的时候,后面的sh程序就不会被kill掉了。
适用版本:Jenkins 2.46版本,版本如差异较大,可能不一致

JENKINS_NODE_COOKIE=dontkillme

只需要加上上面一句话即可

 

 

4、启动jenkins 时报错

[root@VM-0-7-centos system]# systemctl status jenkins
● jenkins.service – LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-09-04 00:19:42 CST; 9s ago
Docs: man:systemd-sysv-generator(8)
Process: 24982 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Sep 04 00:19:42 VM-0-7-centos systemd[1]: Starting LSB: Jenkins Automation Server…
Sep 04 00:19:42 VM-0-7-centos runuser[24987]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Sep 04 00:19:42 VM-0-7-centos jenkins[24982]: Starting Jenkins bash: /usr/bin/java: No such file or directory
Sep 04 00:19:42 VM-0-7-centos systemd[1]: jenkins.service: control process exited, code=exited status=1
Sep 04 00:19:42 VM-0-7-centos jenkins[24982]: [FAILED]
Sep 04 00:19:42 VM-0-7-centos systemd[1]: Failed to start LSB: Jenkins Automation Server.
Sep 04 00:19:42 VM-0-7-centos systemd[1]: Unit jenkins.service entered failed state.
Sep 04 00:19:42 VM-0-7-centos systemd[1]: jenkins.service failed.

解决方法:jenkins 依赖java环境

1、安装jdk 环境,声明 环境变量
vim /etc/profile
……..
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

别忘了 source /etc/profile

2、修改jenkins 启动文件 中java 路径
查看当前Java的环境变量  [root@VM-0-7-centos system]# echo $JAVA_HOME
/usr/local/jdk1.8

复制Java的环境变量地址到  vim /etc/init.d/jenkins 找到指定位置添加
candidates=”
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
/usr/local/jdk1.8/bin/java #添加一行即可

再次 systemctl start jenkins启动报出:
Warning: jenkins.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.

解决:执行 systemctl daemon-reload
最后执行systemctl start jenkins 就好了

 

 

 

5、pipline 流水线脚本maven 编译 打包报错

报错内容:

/usr/maven/bin/mvn package -Dmaven.test.skip=true

which: no javaa in (/sbin:/usr/sbin:/bin:/usr/bin)

which: no javaa in (/sbin:/usr/sbin:/bin:/usr/bin)

Error: JAVA_HOME is not defined correctly.

We connot execute

Jenkins常见报错(持续更新)

解决,可能出现的原因:

1、pipline 脚本里 没有定义 java_home 路径

2、 pipline 脚本里 的 export java_home 要和 maven要放一起,比如:

sh ”’

export JAVA_HOME=/usr/local/java/jdk

/usr/maven/bin/mvn clean package -Dmaven.test.skip=true

”’

3、检查 jenkins 全局工具配置 里定义的java 和 maven 的路径, 是否和 pipline 脚本里定义的路径一致

Jenkins常见报错(持续更新)

Jenkins常见报错(持续更新)

Jenkins常见报错(持续更新)

本文版权归 飞翔沫沫情 作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接 如有问题, 可发送邮件咨询,转贴请注明出处:https://www.fxkjnj.com/2262/

发表评论

登录后才能评论