Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS构建特定的变更集,并使用变更集编号进行部署_Tfs_Msbuild_Tfsbuild_Changeset - Fatal编程技术网

TFS构建特定的变更集,并使用变更集编号进行部署

TFS构建特定的变更集,并使用变更集编号进行部署,tfs,msbuild,tfsbuild,changeset,Tfs,Msbuild,Tfsbuild,Changeset,我有一个构建定义来在我的TFS上构建解决方案。 这很好,但它总是构建最新版本 如何强制从过去构建特定的变更集 如何使用/将此数字传递给“MSBuild参数”,以便在部署时使用它 从团队资源管理器排队生成时,在“参数”选项卡中,一个高级参数是“获取版本” 注意:我认为您需要在C123表格中指定这一点,其中123是变更集编号。如果您使用变更集编号,则它仅适用于CI生成,因为它们通常生成单个变更集 对于任何其他类型的构建,我建议使用构建ID,它是唯一的,并且涵盖了构建多个变更集的构建情况。第一个问题的

我有一个构建定义来在我的TFS上构建解决方案。 这很好,但它总是构建最新版本

  • 如何强制从过去构建特定的变更集

  • 如何使用/将此数字传递给“MSBuild参数”,以便在部署时使用它


  • 从团队资源管理器排队生成时,在“参数”选项卡中,一个高级参数是“获取版本”


    注意:我认为您需要在C123表格中指定这一点,其中123是变更集编号。

    如果您使用变更集编号,则它仅适用于CI生成,因为它们通常生成单个变更集


    对于任何其他类型的构建,我建议使用构建ID,它是唯一的,并且涵盖了构建多个变更集的构建情况。

    第一个问题的答案显然是@Dylan所说的

    第二部分:
    重要的参数是
    GetVersion
    。 导航到生成过程模板中的“为项目运行MSBuild”活动,默认情况下,该活动的值
    CommandLineArguments
    等于

    String.Format(“/p:skipinValidConfiguration=true{0}”,MSBuildArguments)

    你可以把它改成

    String.Format(“/p:SkipInvalidConfigurations=true{0}/p:deployiisappath=/changeset/{1}”,MSBuildArguments,GetVersion)


    然后到达您需要去的地方。

    变更集编号将以何种方式用于部署?我想将其用于部署路径:/p:deployiisappath=/changeset/CHANGESETNUMBERthank you。。。这是第一个问题。。。但是,如何将此参数(C1234)传递给MSBuild参数以用于部署?它位于其中一个工作流参数中,您可以在设置传递给MSBuild的参数时访问该参数(您必须自定义生成工作流)。创建新模板是一种方法。我只需将“GetVersion”更改为“BuildDetail.SourceGetVersion”即可获得最新的生成版本:-)我当前的生成过程文件设置为TfvcContinuousDeploymentTemplate.xaml,但在BuildProcessTemplates文件夹中找不到该文件。