1

我們的應用程序正在使用與Jenkins的持續集成。我們有問題在我們手中將增量數據庫更改部署到Oracle服務器。如何確保db腳本在Jenkins CI管道中只運行一次

當前機制遵循的是回滾腳本和更改或增量腳本(均爲ddldml)。
在jenkins管道中,我們首先調用回滾,然後每次構建與我們的java代碼一起運行時發生增量更改。這不是解決這個問題的理想方法。

我正在尋找一些最佳實踐,這將允許增量數據庫腳本只能運行一次。

回答

0

我提到過best practice before,它不綁定到JenkinsCI:你需要在數據庫的專用表中記錄你的db腳本的執行情況。

這是一個product like Flyway does,但你也可以自己實現這個「記錄」部分。這樣,當你的JenkinsCI管道作業重新執行這些腳本時(通過你的包裝),包裝器會檢測到它們已經被執行。