在Team Foundation Server 2018 Express中构建和部署SSRS报告

时间:2019-03-22 15:53:44

标签: reporting-services tfs continuous-delivery

什么样的任务或自定义命令可用于在TFS构建过程中为rptproj项目生成构件,然后在部署过程中稍后将报告发布到本地ReportServer?

长话短说。

我在TFS 2018 Express中使用单独的构建和部署管道进行了设置。

我的Visual Studio 2017解决方案包含三个ASP.NET MVC Web应用程序项目和两个SSRS项目(rptproj)。

当前,我正在使用以下MSBuild参数触发构建:

/p:DeployOnBuild=true /p:WebPublishMethod=Package
 /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true
 /p:PackageLocation="$(build.artifactstagingdirectory)\\"
 /p:AutoParameterizationWebConfigConnectionStrings=false

,我还指定了工件的输出文件夹。

构建后,工件文件夹包含网站的三个zip文件和一些部署帮助程序脚本。但是,我的rptproj项目没有任何输出(而且我不确定这些输出应该是什么)。从构建日志来看,报表项目的构建没有任何问题,只是它们不生成任何工件输出。

我已经配置了部署管道以获取zip并部署到本地IIS服务器。它工作正常,也可以应用web.config转换。

我使用TFS 2018内置任务完成了所有工作,一切似乎都非常简单。但是,SSRS没有内置任务。

我在TFS在线画廊中找到了一些第三方SSRS任务,但是,如果我理解正确,它们似乎都在构建期间立即部署。我不需要-我想先在工件中收集rptproj输出,然后在部署管道步骤中对其进行部署,因为有时我想触发一些较旧版本的手动发布,而无需实际重建所有内容。

1 个答案:

答案 0 :(得分:1)

  

我想首先在工件中收集rptproj输出,然后在部署管道步骤中对其进行部署

您刚刚说出了该问题的确切解决方案:

添加一个Publish Artifacts任务,将其指向包含报告输出的文件夹,然后将报告作为工件发布。然后它将在发行版中可用。以我的经验,您无需“构建”报告项目,只需发布​​包含来自$(Build.SourcesDirectory)/Path/To/Your/Reports的报告的文件夹。