前言
網上很多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語句的維護,更加直觀方便。