【问题标题】:continuous integration with in house libraries与内部库的持续集成
【发布时间】:2017-08-23 19:05:21
【问题描述】:

我们有一个项目,比如说 coresystem,它使用了许多内部依赖库,所有这些库都有不同的版本。

coresystem 的构建配置设置为引用具有特定版本号的库,例如 coresytem 2.3.4 使用库 abc-version-1.2.3 和 def-version-3.4.5。

这些库通常与核心系统同时更改。并且不一定同一组库会随着 coresystem 的每个版本而改变。

在这种情况下,我们如何处理持续交付。目前,我们经常不得不更改 coresystem 的构建配置。

【问题讨论】:

  • 我几个月来一直在想一个不愚蠢的解决方案,除了做图书馆手册之外,我无法弄清楚如何去做
  • 您使用的是哪个构建系统?像 gradle、sbt、bazel 等
  • 我使用的是 Maven 或 MSBuild,但这个问题涉及到任何构建系统。这是我发现的软件开发人员的一个普遍问题。

标签: shared-libraries libraries dependency-management continuous-deployment continuous-delivery


【解决方案1】:

使用变量作为参数,您可以将其传递给构建系统,而不是将它们放入配置中,这将为您提供您想要在这里实现的目标。根据您使用的构建系统,有不同的方法可以传递这样的参数。

例如 Gitlab CI/CD 使用这个:

https://gitlab.com/help/ci/variables/README#custom-environment-variables

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 2019-03-08
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2015-04-20
    相关资源
    最近更新 更多