如何确保db脚本在Jenkins CI管道中只运行一次

时间:2017-06-16 04:44:53

标签: jenkins oracle11g continuous-integration jenkins-pipeline

我们的应用程序正在使用与Jenkins的持续集成。我们在将增量数据库更改部署到oracle服务器时遇到了问题。

当前遵循的机制是具有回滚脚本和更改或增量脚本(ddldml)。
在jenkins管道中,我们首先调用rollback,然后每次构建与java代码更改一起运行时进行增量更改。这不是解决这个问题的理想方法。

我正在寻找一些允许增量数据库脚本只运行一次的最佳实践。

1 个答案:

答案 0 :(得分:0)

我提到了best practice before,它与JenkinsCI无关:你需要在数据库的专用表中记录db脚本的执行。

这就是product like Flyway does,但你也可以自己实现“记录”部分。这样,当您的JenkinsCI管道作业重新执行这些脚本(通过您的包装器)时,所述包装器将检测到它们已经被执行。