Java学习之Jenkins安装使用过程中的错误记录

6 篇文章 0 订阅

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。

Jenkins安装环境需要maven,jdk,git,mysql等等,可以参考如下博客:

https://blog.csdn.net/qq_20698983/article/details/92797892?tdsourcetag=s_pcqq_aiomsg

 

在学习使用过程中,遇到了一些错误,将它们记录下来:

错误一:Jenkins插件安装出错。

解决方法:Jenkins版本太低了,不要下载Jenkins2.121.3之前的版本!尽量选择一个不是特别新,也不是特别老的版本。

 

错误二:虚拟机端口无法访问

解决方法:firewall-cmd --zone=public --add-port=5005/tcp --permanent  永久开放一个端口

                 firewall-cmd --reload 重启防火墙

 

错误三:Jenkins执行脚本出现权限不足,不能创建文件夹。

解决方法:打开jenkins的配置文件/etc/sysconfig/jenkins.,修改JENKINS_USER="root"。

 

错误四:mysql安装版本为5.6.x,安装完成没有密码文件,无法登陆mysql

解决方法:感谢这位博主:https://blog.csdn.net/qq_36214218/article/details/80071908

 

错误五:登陆时候出现错误ERROR 1049 (42000): Unknown database 'root'

解决方法:这个我是一脸懵逼的,一直以来我登陆MySQL的方法都是mysql -u root -p password,查了一下网上,原来正确的应该是mysql -u root -ppassword。

 

错误六:在本机上使用navicat连接虚拟机数据库报错Error 1044 Access denied for user'root'@'%' to database 'xxx'。

解决方法:这个问题是因为mysql设置的权限问题。Mysql考虑到安全性,默认设置的权限是拒绝访问的,需要用户自己开放权限 在cmd上用mysql -u root -p mysql命令登录mysql数据库,然后用grant命令下放权限。 命令如下:
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;

 

错误七:网上找了一个脚本,没有对pid进程以及文件夹是否存在进行判断,导致出错

解决方法:修改后能够运行的代码如下。

echo '开始启动项目~~~~~~~~~'

DATE=$(date +%Y%m%d_%H%M)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_191
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/opt/jar
JARFILE=项目名称.jar

if [ ! -d $DIR/backup ];then
   sudo mkdir -p $DIR/backup
fi
cd $DIR

PID=$(ps -ef |grep -E '你自己的项目名称'|grep -e 'java'|awk '{print $2}' | grep -v 'PID'| xargs)
if [ "$PID" ]
then 
 	echo "正在kill进程"
 	kill -9 $PID
else 
 	echo "没有进程需要kill"
fi
if [ -f $JARFILE ]
then 
 	echo "移动旧版本jar包"
 	mv $JARFILE backup/$JARFILE$DATE
else 
 	echo "没有旧版本jar包"
fi

mv -f /var/lib/jenkins/workspace/myDream/target/$JARFILE .

BUILD_ID=dontKillMe nohup java -jar $JARFILE > out.log &
if [ $? = 0 ];then
        sleep 30
        tail -n 50 out.log
fi

cd backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

echo '结束启动项目~~~~'

 

错误八:Linux中Mysql不能识别表名字的大小写。

解决方法:用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,关闭mysql服务(我在这里不知道怎么回事,stop不了,用kill杀死了mysql所有进程),重启Mysql,这时已设置成功:不区分表名的大小写;

 

错误九:配置向Github中push代码,Jenkins自动构建代码不成功。

解决方法:配置方法可以网上搜一下,很多,贴上我个人感觉写的比较好博客链接:

https://blog.csdn.net/boling_cavalry/article/details/78943061

因为我是虚拟机,所以使用了内网穿透工具natapp。填写端口的时候,没注意,填写了项目的端口,而不是Jenkins的端口,导致Github中的Wenhook地址访问出错,一直不能重构。修改端口后重新配置成功。

 

折腾了一天之后,终于成功。

上一次搭建是在虚拟机上搭建,这次将Jenkins搭建到我自己的服务器上去,又遇到几个坑。

错误十:一直卡在下面这一步。

 using GIT_ASKPASS to set credentials 
21:29:23  > /usr/java/git/git-1.8.3.1/bin-wrappers/git fetch --tags --progress

刚开始按照网上的方法,各种找权限问题,清理workspace都没有效果,最后将git版本更新到最新,成功解决。

错误十一:github配置好没有效果,但是用Postman模拟发送却可以。报错302.

发现webhook的地址http://192.168.0.1:8080/github-webhook最后必须要加/,即正确地址应该是http://192.168.0.1:8080/github-webhook/

错误十二:构建好整个项目之后,再次push时候,发现项目没有更新,查看构建记录,发现端口被占用,查看sh脚本,发现没有查到正确的pid,参考博文https://www.jianshu.com/p/4ec50fdaf388后重写PID=$(ps -ef |grep -E '你自己的项目名称'|grep -e 'java'|awk '{print $2}' | grep -v 'PID'| xargs)。整个脚本语句在错误七里

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值