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

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


 

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

错误一: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

解决方法:感谢这位博主:。

 

错误五:登陆时候出现错误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自动构建代码不成功。

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


因为我是虚拟机,所以使用了内网穿透工具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.