当前位置:   article > 正文

使用ANT脚本批量执行SQL,并且结合Jenkins自动化构建_jenkins 自动执行sql

jenkins 自动执行sql

背景:由于项目构建会涉及一些SQL脚本,每次需要run一堆的SQL来升级环境。所以想用一些脚本来自动完成这项工作。

思路:首先把所有需要跑的SQL放在一个文件夹内,按照跑的顺序编码排列好;再通过ANT脚本来读取这个文件夹下面的所有SQL,然后通过ANT连接数据库,按顺序逐个执行SQL;每个SQL执行完会输出一个log文件,记录执行状况;如果有一个SQL文件执行错误就会输出错误的log并停止执行下一步,(因为本人的SQL是有关联的,一旦前面有一个出错,后面也都会有点问题,所以需要停下来。如果你不想停止,那就捕获异常,继续执行下面的操作。)。当ANT执行出错以后,Jenkins的任务也会停止变红,并且发送消息到Email。

--------------------------------------------------------------------------------------

环境:

 

  • Linux环境
  • 安装ANT工具。
  • 下载mysql连接jar包。

编写ANT脚本:(由于是私有项目,只能共享部分实现思路code)

1. 首先,定义antlib task,后面会用到antlib内置的资源比较器。

  1. <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${lib}/ant-contrib-1.0b3.jar"/>
  2. <taskdef resource="net/sf/incanto/antlib.xml" classpath="${lib}/incanto-0.2.4.jar"/>

2. 定义DB连接的一些信息(定义property),此处也可以使用外部的properties文件来导入。

<property file="settings/build.properties"/>

3. 定义一个target:runSqlInFolder

使用try catch包裹SQL执行标签。(我这里用的是mysql,所以用的是sql标签,如果使用oracle可以使用sqlplus)

下面的<fail>是为了让Jenkins感受到ANT执行出错了,然后Jenkins就会自动停止任务。

<execdirsql>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/539828
推荐阅读
相关标签
  

闽ICP备14008679号