Jenkins工程中SQL语句执行的方法
前言
网上很多jenkins工程中基于shell或批处理方式调用sql文件执行sql命令的方式,大部分都是需要基于sql文件来完成的,因此在sql语句发生变化时需要去jenkins服务端修改对应的sql文件或者通过上传的方式进行替换,对于多人协助相对比较麻烦,为了解决此问题,本方法是基于groovy对mysql的操作为基础的SQL语句执行。
脚本编写
首先,我们需要使用IDEA编写基于groovy语言的mysql操作脚本,创建一个基于groovy新的项目,选择Groovy library,如下图所示:
点击“next”,输入项目名称和路径后点击“finish”。如下图所示:
在src文件夹下新建一个groovy script,如下图所示:
打开新建的groovy script编写mysql操作代码,如下图所示:
代码:
import groovy.sql.Sql class sql{ static void main(args){ Sql con=Sql.newInstance("jdbc:mysql://127.0.0.1:3306/test","user","123456","com.mysql.jdbc.Driver") con.execute("delete from test") con.close() } }
运行后提示:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
处理方式:下载com.mysql.jdbc_5.1.38.jar放到当前项目的工作空间中,再次运行测试通过。
jenkins中Groovy脚本执行
首先将com.mysql.jdbc_5.1.38.jar复制到jenkins应用服务的\jenkins\WEB-INF\lib(tomcat中路径为\webapps\jenkins\WEB-INF\lib)中,重启服务。
在jenkins中添加groovy插件,之后构建一个自由风格的软件项目,在配置的“构建”中添加“Execute system Groovy script”的构建步骤,将IDEA中编写的代码拷贝到其中,如下图所示:
保存后只需构建即可,执行结果如下:
查看数据库对应内容已被修改。
此方法可以直接通过在配置中修改con.execute("delete from student_copy")内容即可实现对sql语句的维护,更加直观方便。