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