我们有许多项目以相同的方式处理,构建和部署,我们希望为所有这些项目 Build 统一的TeamCity构建链 .
我们的构建链应包含:
-
拉取请求和开发分支的编译和测试 .
-
对拉取请求的SonarQube分析 .
-
NPM发布并自动标记合并拉取请求进入开发 .
所有项目都是符合以下条件的NPM包:
- 所需脚本:安装,测试,清理,构建
根目录中的 - package.json和sonar-project.properties
我们有为SonarQube和NPM发布使用通用参数化构建的想法,因为它们与项目本身无关,但看起来TeamCity不支持这样的任何东西,除非我们为每个项目复制链构建 .
理想情况下,它应该看起来像这样:
这里的问题是,如果我为构建完成添加触发器并为SonarQube添加依赖项并为所有项目发布NPM,则需要构建每个项目而不仅仅是刚刚构建的项目 .
TeamCity通过能够复制构建配置来提供这样的东西:
我不希望有许多重复的构建,就像我不喜欢重复的代码一样 . 有没有办法创建公共构建链,还是应该继续前进并寻找生成后者的脚本方式?