【问题标题】:autodeployment of tfs build自动部署 tfs 构建
【发布时间】:2016-05-03 03:48:59
【问题描述】:

我有一个软件,到目前为止它是通过 UI 或命令脚本运行的。我的工作是删除所有 UI 并使用 tfs 构建使其自动运行。 使用 TFS 2012 与 2012

我的问题: 1. 如何运行正在构建的软件。我尝试使用 MSBuild Arguments

/p:DeployOnBuild=True /p:DeployTarget=Package /p:CreatePackageOnPublish=True
      /p:OutputPath=bin /p:VisualStudioVersion=11.0 /p:MSDeployPublishMethod=InProc 
      /p:MsDeployServiceUrl=localhost 
      /p:DeployIisAppPath=@"\\filer01\FDrive\public\documents\new\\"

没有错误,但我的测试解决方案没有产生任何结果。为了测试它应该创建一个文件。相同的代码在自定义代码活动中运行良好,因此这意味着软件无法运行。我想从源代码管理中运行软件。

问题 2. 将参数从 TFS 构建定义传递到我正在构建和运行的软件的最佳方式是什么?我可以从 withing 软件中调用它们吗?

编辑: 解决方案: 自定义活动:

var process = new Process
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName = String.Format("{0}\\TestingForm.exe", binaries)

                }
            };

            process.Start();
            process.WaitForExit(); 

【问题讨论】:

    标签: tfs build tfsbuild build-definition


    【解决方案1】:

    我从未尝试过 DeployIisAppPath 参数,但我们过去经常使用 TFS 构建定义将代码部署到远程 IIS 服务器。效果很好。也许您可以尝试删除 DeployIisAppPath 并部署到本地 IIS?

    可以在构建步骤中访问 MSBuild 参数。您可以在 wpp.targets 文件中指示 MSBuild 获取这些值并使用它们来更改应用程序文件,但这完全取决于您希望如何使用它们。

    【讨论】:

    • 我想将它们用作配置。我希望使用一个具有相同源但配置不同的模板来创建大约 70 个构建定义。我正在考虑即时创建 xml 或 ini 文件并将其用于配置,但我也在考虑将软件转换为一个大型自定义活动以节省磁盘空间。每次构建运行 = 60 MB * 70 * 每天 2 次最终会占用大量不必要的空间。
    • 不确定您的问题是什么。需要更多信息。
    • 谢谢你的帮助,我用不同的方法弄明白了。
    • 请分享您的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 2023-03-18
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多