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语句的维护,更加直观方便。

 

posted @ 2019-07-31 17:12  一点空白  阅读(4042)  评论(0编辑  收藏  举报