【问题标题】:Can liquibase use github as source of changeLog files?liquibase 可以使用 github 作为 changeLog 文件的来源吗?
【发布时间】:2020-04-17 03:03:56
【问题描述】:

考虑具有使用相同数据库的不同语言模块的项目。数据库由 liquibase 控制。 Liquibase changeLog 文件放置在特殊的 github 存储库中。因此,每个开发人员都可以下载它并在本地运行,以保持本地数据库实例处于实际状态。

开发人员经常使用像 H2 这样的内存数据库进行测试,而 liquibase 会在每次测试运行时重建数据库结构。为了使测试数据库保持在实际状态,每个开发人员都需要下载 changeLogs 并手动放入他们的模块。但有时他可能会错过其他人更改了数据库结构,因此他的测试应该失败,但会通过。这对于 CI 中的测试更为实际。

liquibase 可以自动从 Internet 源下载变更日志吗?它可以使用私有 github 存储库吗?它可以为此使用一些属性,例如 changeLogFile 吗?

【问题讨论】:

  • 欢迎使用 Stack Overflow - 通常您会希望在在线研究或完成教程后尝试编写一些代码。完成这篇文章后,您可以在此处编码/错误以获得支持。 stackoverflow.com/help/how-to-ask

标签: github integration-testing liquibase changelog


【解决方案1】:

我可以确认一些假设吗?听起来您有一个开发人员团队都在提交 liquibase 数据库更改,并且您希望能够在 CI/CD 流程中自动部署?

谢谢,

罗纳克 Liquibase 开发人员布道者

【讨论】:

  • 感谢您的回答!还没有,但我有这样的想法。我调查了这种可能性。
  • 我同意下面的 dbf。这个想法是 liquibase 可以适应现有的 CI/CD 管道自动化。因此,我们建议在您将运行 liquibase 的服务器上按照您希望的方式检测所有文件。它不是由 liquibase 决定您要使用什么存储库或使用什么 ci/cd 工具,或者成为 scm 或 ci/cd 工具。希望有帮助!
【解决方案2】:

Liquibase 无法运行放置在某个远程 git 存储库中的更改日志。但是在你的 CI 中你可以设置这样的东西:如果有一个从分支“功能”到分支“主”的自动请求:

  1. 在执行测试之前签出分支“功能” 并在那里合并'master'
  2. 应用所有变更日志
  3. 之后运行测试

因此,如果其他开发人员更改数据库结构并将其提交到“功能”分支中的主测试,则将使用最新的数据库结构执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-03
    • 2020-01-28
    • 2022-01-27
    • 1970-01-01
    • 2021-05-21
    • 2020-09-06
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多