2

我们有许多以相同方式处理、构建和部署的项目,我们希望为所有项目建立统一的 TeamCity 构建链。

我们的构建链应该包含:

  • 拉取请求和开发分支的编译和测试。
  • 拉取请求的 SonarQube 分析。
  • NPM 发布和自动标记合并拉取请求到开发。

所有项目都是符合以下要求的 NPM 包:

  • 所需脚本:安装、测试、清理、构建
  • 根目录中的 package.json 和 sonar-project.properties

我们的想法是为 SonarQube 和 NPM 发布使用通用参数化构建,因为它们与项目本身无关,但看起来 TeamCity 不支持这样的东西,除非我们为每个项目复制链构建。

理想情况下,它应该看起来像这样:

通用构建链

这里的问题是,如果我为构建完成添加触发器并为所有项目添加对 SonarQube 和 NPM 发布的依赖项,它将需要构建每个项目,而不仅仅是刚刚构建的项目。

TeamCity 通过复制构建配置提供了类似的功能:

在此处输入图像描述

我不希望有许多重复的构建,就像我不喜欢重复的代码一样。有没有办法创建通用构建链,或者我应该继续寻找生成后者的脚本方式?

4

0 回答 0