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

我们的构建链应包含:

  • 拉取请求和开发分支的编译和测试 .

  • 对拉取请求的SonarQube分析 .

  • NPM发布并自动标记合并拉取请求进入开发 .

所有项目都是符合以下条件的NPM包:

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

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

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

Common build chain

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

TeamCity通过能够复制构建配置来提供这样的东西:

enter image description here

我不希望有许多重复的构建,就像我不喜欢重复的代码一样 . 有没有办法创建公共构建链,还是应该继续前进并寻找生成后者的脚本方式?