【问题标题】:jOOQ continuous integration approachesjOOQ 持续集成方法
【发布时间】:2018-08-10 19:13:10
【问题描述】:

我已经使用 jOOQ 设置了一个 Java 项目。目前我们即将在 Jenkins 上创建 CI 管道。

理想情况下,我们不希望在 repo 中提交生成的代码,而是在构建过程中生成它。但是 jOOQ 需要连接到数据库才能生成代码。

第一种方法是允许 Jenkins 连接到数据库。如果我们被禁止从 Jenkins 访问数据库,我们应该考虑哪些方法?

欢迎和非常感谢任何 cmets 或提示。

【问题讨论】:

  • 实际上,您可以使用以前生成的代码,也可以将代码生成为构建过程的一部分。这些是您唯一的选择。我不确定这里的问题是什么。

标签: java jenkins continuous-integration jooq


【解决方案1】:

为什么不将生成的代码提交到存储库?

您已经注意到,每种方法都有利有弊,但总的来说,提交生成的代码更有优势。像其他任何具有自己的发布周期和版本控制的库一样查看该代码。您可能有这样的库,您可能会称它们为 libraryAbc-1.3.17.jar,并且将该 jar 文件提交到存储库没有任何问题,对吧?特别是当它是第三方依赖时。

这是一篇有趣的文章,详细说明了上述内容:

还有最近关于jOOQ用户群的讨论:

在没有数据库连接的情况下重新生成代码的选项

请注意,该讨论如何引用从一个 不是 数据库的元模型重新生成代码的选项,例如:

所有这些都具有从文件系统获取元模型的优势,其代价是它们不支持直接连接到数据库时将支持的所有供应商特定功能。

但是,为什么不在您的实际数据库产品中使用测试容器呢? An example can be seen here.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 2019-06-15
    • 2021-01-14
    相关资源
    最近更新 更多