在我的项目中,我有4个不同的网站共享大部分代码,唯一的例外是网站本身和每个网站的类库。
源代码分为4个文件夹,每个文件夹包含一些较小的项目。这些文件夹代表DDD层(基础架构,域,应用程序,UI)。此外,我们还有第五个包含测试的文件夹,这些测试也由目标层拆分。
由于网站具有非常相似的构建配置,因此我使用了一些通过一些参数自定义的commong Build Configuration模板。
其中一个自定义是VCS触发器规则,可以通过以下方式进行汇总: - 在基础架构,域,应用程序和测试文件夹中的提交上触发每个网站的构建 - 在测试中的Inf,Domain,App文件夹中提交每个网站的构建 - 在提交到其网站文件夹及其类库时触发网站的构建。
这是我写的规则
-:.
+:Infrastructure
+:Tests\Infrastructure
+:Domain
+:Tests\Domain
+:Application
+:Tests\Application
+:%WebProjectPath%
+:%WebProjectLibPath%
但显然没有评估参数。有没有办法达到预期的行为?
答案 0 :(得分:2)
VCS触发器支持这些参数。
我遇到的问题是这些触发器区分大小写。因此,如果在“Ui \ PublicWeb”文件夹中发出提交,则不会触发指向“UI \ PublicWeb”的过滤器。
此外,如果参数为空,则生成的触发器规则将类似于“+:”,这将允许每次提交触发构建。 在这种情况下,最好提及一个不存在的文件夹,而不是让系统触发不需要的构建。