我正在尝试使用teamcity观看然后在主文件夹中自动构建/测试一组分支,因此我在teamcity中设置构建配置以观看包含同一项目的许多分支的主文件夹,一旦出现在其中一个分支中是新的提交,teamcity将在第一个构建步骤中调用.bat文件以生成一些参数,然后返回具有新提交的分支URl,然后仅在该分支中编译/运行单元测试。
我的麻烦是我不知道如何通过该.bat文件将此URl返回传递到下一个构建步骤,我考虑使用命令行运行程序中的以下语句将此URL设置为配置参数。
%##teamcity[setParameter name='subpath' value='getsubpath.bat %otherparameter%']%
遗憾的是,此代码不会发生任何错误,也不会设置新的参数名称' subpath'。
是我正在使用这个' setParameter'声明不对?或者在命令行运行器中不可用。任何人都可以举一个使用## teamcity [setParameter .....]的例子,或者对这种情况有所了解?
答案 0 :(得分:1)
从您的问题我假设您正在使用vcs触发器来触发新提交的构建。 在这种情况下,您可以使用已定义的%teamcity.build.branch%变量,该变量将为您提供构建触发的分支。 在vcs设置中配置Branch规范,在vcs触发器中配置分支过滤器,以选择要在构建配置中使用的分支。 为此,请参阅http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches
如果您不想使用此解决方案,则应回显/打印您在bat中编写的生成URI的行: echo“## teamcity [setParameter name ='subpath'value ='%variableContainsTheURI%']”
其中'subpath'是TeamCity变量。我不确定你是否可以使用配置参数。如果它不起作用,只需使用TeamCity环境变量。