【问题标题】:Building and deployment of SSRS reports in Team Foundation Server 2018 Express在 Team Foundation Server 2018 Express 中构建和部署 SSRS 报告
【发布时间】:2019-03-23 02:40:14
【问题描述】:

在 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 输出,然后在部署管道步骤期间部署它,因为有时我想触发一些旧版本的手动发布,而不实际重建所有内容。

【问题讨论】:

    标签: reporting-services tfs continuous-delivery


    【解决方案1】:

    我想先收集工件中的 rptproj 输出,然后在部署管道步骤中部署它

    您刚刚陈述了问题的确切解决方案:

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

    【讨论】:

    • 谢谢,解决了一半的问题。现在,如果我知道从部署管道启动报告发布的正确参数...我已经看到微软的公告说 MSBuild 支持部署 SSRS 报告,但我还没有找到任何关于如何运行它的完整描述TFS 任务以及如何传递我的 ReportServer 凭据来部署报告。
    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 2019-11-20
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多