2016-08-16 21 views
1

我们刚刚升级到TFS2015(现场),我试图建立一个与我的xaml构建做同样的事情的构建,但我似乎无法获得相同的构建文件。以下是我用来发布网站的xaml输出目录的图片。为了得到这个我浏览到生成文件夹,然后钻到_PublishedWebsites \ BOTWSitecoreWeb文件夹:我如何从TFS 2015构建(匹配我的XAML构建)获得预期输出?

enter image description here

这里的解决方案资源管理器的图片:

enter image description here

因此,大家可以看到BOTWSitecoreWeb是我的启动项目,它构成了网站的基础。因此,要发布本网站,我只需将文件夹:_PublishedWebsites \ BOTWSitecoreWeb复制到我的IIS目录。下面是它看起来像使用XAML构建:

enter image description here

如果我钻到TFS2015输出文件夹建到滴/来源/ SC /网站文件夹中我得到这个,它有更多的文件和文件夹比我预期:

enter image description here

所以我的问题是我如何能得到建立相同的输出,我现在从我的XAML得到一个TFS2015构建?

bin文件夹具有相同数量的文件,所以这是一个很好的开始。下面是来自XAML构建bin文件夹:

enter image description here

下面是从2015年TFS构建bin文件夹中。注意它们都有57个文件,我认为这是一件好事!

enter image description here

预先感谢任何见解,您可以提供!

回答

3

更新您的构建定义如下:

  1. 添加/p:DeployOnBuild=true /p:OutDir="$(build.artifactstagingdirectory)\\"参数在Visual Studio构建步骤: enter image description here
  2. 更改 “路径发布” “发布构建构件的” 任务“$(建造的。 artifactstagingdirectory)_PublishedWebsites \项目名“: enter image description here

保存构建定义和队列构建,现在你应该得到相同的文件像XAML构建一样在drop文件夹中发布。

+0

感谢Eddie - 这样做! –

0

vNext构建和XAML构建,它是完全不同的技术。不会有任何自动的转换方式。

新版本基于不同的架构,并在完全不同的系统上运行。

所以你的情况是可以预测的,很难实现100%的转换。复制vNext中的文件夹将默认复制该文件夹下的所有内容。似乎在复制过程中有一些自定义或在您的XAML构建中发布,它将返回如上图所示的结果。

如果您有高度定制XAML构建和定制活动,您 可以继续使用那些建立,直到你准备好你的港口业务 逻辑转换成可以在新版本上运行的脚本。

你也可以看看这些系列的文章how to upgrade from XAML to Build 2015 with minimal changes

+0

嗨帕特里克。感谢您的回应。所以没有办法从新的团队构建中获得一个简单的输出目录,它具有部署所需的所有内容? (即/ bin文件夹和所有其他包含aspx文件,配置文件等的子文件夹?)这似乎错了!如果构建的输出没有准备好进行部署,那么构建构建有什么意义呢? –

+0

那么,在vNext构建中使用的典型方法是使用“复制文件”和“发布构建工件”步骤来发布构建工件。 尝试在代理程序中使用本地路径,其中任何工件在被推送到其目标之前被复制到该代理程序。例如:'c:\ agent \ _work \ 1 \ a'。您可以像_Eddie_建议一样使用变量'Build.ArtifactStagingDirectory'。更多变量请参考[使用构建变量](https://www.visualstudio.com/en-us/docs/build/define/variables) –

+0

谢谢帕特里克。我认为问题在于c:\ agent \ _work \ 1 \ a(这是$(Build.ArtifactStagingDirectory)指向的内容在构建后为空的原因。 –

相关问题