2011-11-19 37 views
1

我想每天晚上都有一個自動部署我的測試系統到cloud @ cloud的dev @ cloud系統。Cloudils上的Grails數據庫遷移和Jenkins

現在的問題是,我在grails上使用dbm-update目標,並試圖從Jenkins更新數據庫。這是一個問題,因爲com.cloudbees.jdbc.Driver在此上下文中不可用。只有當應用程序部署到測試系統時。

有人試過這個,可以幫我解決一些技巧,如何解決或解決這個問題?

感謝

回答

3

您可以設置updateOnStart標誌的插件在測試方面的應用,

grails.plugin.databasemigration.updateOnStart = true 
grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy'] 

這將運行遷移時,您的測試應用程序啓動,讓你不需要做一個單獨的dbm-update。由於這與正在運行的應用程序使用相同的JDBC驅動程序,因此應該可以工作

+0

謝謝你這是工作。一個問題,數據庫更新失敗時發生了什麼?我的意思是,以後在運行生產系統時,最好將此部分與部署區分開來,以便事先運行生產數據庫並對錯誤作出反應。 – Gambo

+0

在提交之前,通過在本地運行dbm-update來運行遷移時應該注意到這一點。但是如果失敗了,它會讓你的應用程序無法啓動。不過,您的CI會在測試過程中發現任何失敗。 –

0

看那運行控制檯(https://run.cloudbees.com) - 在那裏你會發現你的MySQL設置

你可以只使用一個標準的MySQL JDBC驅動程序從任何地方連接到MySQL數據庫(包括來自DEV @ cloud和您的測試用例)。