Jenkins常见报错(持续更新)

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

解决方法(1):

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

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

改为root ,再重新运行下 jenkins

解决方法(2):

使用jenkins 用户 生成ssh key

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

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

 

 

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

场景:

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

点击 选择 Advanced Settings…

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

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

这样就能 收到测试邮件了

 

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

解决,可能出现的原因:

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 脚本里定义的路径一致

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/8186

(0)
杰斯的头像杰斯
上一篇 2023年5月16日 下午5:19
下一篇 2023年5月17日 下午5:06

相关推荐

  • kali系统登录密码忘了如何进行重置

    如果你的kali系统密码忘记了,又不想重装系统,那么,你可以通过如下几个步骤来强制重置root密码 第一步:在启动kali系统之后会进入到一个引导界面,然后我们需要按“e”来进入启动前的编辑命令,若你在开机时没有出现如下界面,你可以连续按上下键来阻止系统正常启动,以此来进入这个开机引导界面。 第二步:按“e”进入到启动前编辑命令界面后,找到以下内容,并做一定…

    2022年6月13日
    2.9K00
  • linux下如何mount挂载lvm磁盘

    磁盘如果是普通的分区,比如:ntfs、ext3等,可以直接用 mount -t <type>来制定文件系统类型来挂载,但有时候磁盘是采用的lvm卷的分区,要挂载这类磁盘,就应该按照以下方式: a. 扫描逻辑卷: b. 激活扫描到的卷: c. 挂载 注:/dev/VolGroup00文件夹下面可能会有几个:lvm_root、lvm_swap、lvm…

    2023年7月20日
    81300
  • VMware虚拟机安装Ubuntu24.04教程

    (一)Ubuntu镜像文件下载(选择Ubuntu桌面版)1、Ubuntu官方网站(1)Ubuntu官网:https://ubuntu.com(2)Ubuntu官网中文站:https://cn.ubuntu.com(3)Ubuntu24.04桌面端官方下载:https://ubuntu.com/blog/ubuntu-desktop-24-04-noble-n…

    2024年5月31日
    1.3K00
  • 在Linux系统内启动某个服务时提示task: Cannot allocate memory该如何处理?

    问题现象 在ECS实例中启动某个服务进程时,系统提示task: Cannot allocate memory错误,如下图所示。 可能原因 可能是系统进程数超限导致。 Linux内核通过内核配置参数kernel.pid_max限制进程的数量,当运行的服务的总进程数超出kernel.pid_max的值时,再创建新进程时系统会报错task: Cannot allo…

    2023年11月14日
    71400
  • mysql之两个db实例中有两个表对比

    两个db实例中有两个表对比要确定两个数据库实例中的两个表是否存在差异,你需要比较这两个表的所有数据。这个过程可以通过多种方法实现,以下是几个常见的方法: SQL查询比较如果两个数据库相互可访问(例如,通过数据库链接),你可以编写SQL查询来比较它们的数据。以下是一个简单的例子,演示如何比较两个表的数据: 如果这些查询返回任何行,那么这些行就是两个表之间的差异…

    2024年7月4日
    1.6K00

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信