【问题标题】:How to ensure db scripts runs only once in Jenkins CI pipeline如何确保数据库脚本在 Jenkins CI 管道中只运行一次
【发布时间】:2017-06-16 13:04:35
【问题描述】:

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

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

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

【问题讨论】:

    标签: jenkins oracle11g continuous-integration jenkins-pipeline


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-08
      • 2011-04-27
      • 2011-09-22
      • 1970-01-01
      • 2012-01-09
      • 2020-01-04
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多