一.问题描述
我的jenkins运行在虚拟机上,mysql服务在主机上;
1.先执行jenkins的deploy任务,拉取远程开发代码并进行部署
2.deploy任务部署完成触发部署test任务,运行自动化代码进行测试
问题出在test任务构建显示success,但是测试代码并没有执行成功
二.问题解决-数据库权限
按照报错提示去target目录下看运行结果报告
org.apache.ibatis.exceptions.PersistenceException:
)### Error querying database. Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES
### The error may exist in mapper/SQLMapper.xml
### The error may involve com.course.model.loginCase
### The error occurred while executing a query
### Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
at com.course.cases.LoginTest.loginTrue(LoginTest.java:51)
显示无法访问到mysql数据库,检查了一下我的用户名密码写的是对的,解决如下:
1.尝试在cmd命令行把root用户的访问权限由localhost->所有主机
mysql -u root -p
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
grant all privileges on *.* to 'root'@'%'
flush privileges;
exit
再次登录即可。
2.并且在配置文件里把连接mysql的url由127.0.0.1改成本机IP,
3.提交代码到github
git add .
git status
git commit -m "修改数据库连接地址"
git push
4.再次在jenkins上执行deploy任务,这次test任务还是没有执行成功
5.查看surefire报告报错
6.到jenkins运行工作目录
/root/.jenkins/workspace/deploy/Chapter13/target/logs
[root@fanyu logs]# ll
总用量 16
-rw-r--r--. 1 root root 0 6月 13 12:17 event.log
-rw-r--r--. 1 root root 13666 6月 13 12:18 userManger.log
查看一下本次deploy服务端程序启动信息
server logs:
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1021)
at org.apache.catalina.util.LifecycleBase.star