上次介绍了 SQL Server Reporting Service 命令行部署报表的基本内容, 利用这些知识我们可以轻松的部署报表, 然而在 TFS 中, 每个项目都有它对应的报表, 这些报表如果要一个个的更新也是件痛苦的事情, 现在我也遇到了这个问题, 针对 TFS 开发了两张报表, 但是如何将这些报表应用到所有项目上呢? 结合之前的部署脚本知识, 我们可以使用下面方法实现:

首先建立一个批处理文件ImportWIT.bat, 用来更新某个项目的Work Item定义文件:

 

SQL Server Reporting Service - 一步部署 TFS 项目报表@ECHO OFF 
SQL Server Reporting Service - 一步部署 TFS 项目报表
SQL Server Reporting Service - 一步部署 TFS 项目报表CALL 
"C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 
SQL Server Reporting Service - 一步部署 TFS 项目报表
SQL Server Reporting Service - 一步部署 TFS 项目报表witimport 
/%1 /%2 /f WorkItemDefinitions\Task.xml 
SQL Server Reporting Service - 一步部署 TFS 项目报表witimport 
/%1 /%2 /f WorkItemDefinitions\Bug.xml 
SQL Server Reporting Service - 一步部署 TFS 项目报表witimport 
/%1 /%2 /f WorkItemDefinitions\Scenario.xml 
SQL Server Reporting Service - 一步部署 TFS 项目报表
SQL Server Reporting Service - 一步部署 TFS 项目报表rem 
/%1 /%2 
SQL Server Reporting Service - 一步部署 TFS 项目报表rem echo Hit any key to 
continueSQL Server Reporting Service - 一步部署 TFS 项目报表 
SQL Server Reporting Service - 一步部署 TFS 项目报表rem PAUSE
SQL Server Reporting Service - 一步部署 TFS 项目报表
SQL Server Reporting Service - 一步部署 TFS 项目报表

在WorkItemDefinitions目录下将所有对应Work Item定义文件放入:

SQL Server Reporting Service - 一步部署 TFS 项目报表

然后建立一个Reports目录, 将所有需要的报表文件放入, 如下图:

SQL Server Reporting Service - 一步部署 TFS 项目报表

然后创建一个脚本文件PublishReports.rss, 内容如下:

 

SQL Server Reporting Service - 一步部署 TFS 项目报表'============================================================================= 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
  File:      PublishSampleReports.rss 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
  Summary:  Demonstrates a script that can be used with RS.exe to 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
         publish the sample reports that ship with Reporting Services. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
--------------------------------------------------------------------- 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 This file is part of Microsoft SQL Server Code Samples. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
  Copyright (C) Microsoft Corporation.  All rights reserved. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 This source code is intended only as a supplement to Microsoft 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 Development Tools and/or on-line documentation.  See these other 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 materials for detailed information regarding Microsoft code samples. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 PARTICULAR PURPOSE. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
============================================================================= 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 1.0 Documentation 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 Read the following in order to familiarize yourself with the sample script. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 1.1 Overview 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 This sample script uses a script file (.rss) and the script environment to run 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 Web service operations on a specified report server. The script creates a folder 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 that you specify as a command-prompt variable using the 杤 switch, and then 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 publishes the sample reports that ship with Reporting Services to a report server. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 Depending on the location of your sample reports, you may need to modify the 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 value of the filePath variable, which references the path to your sample reports. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 1.2 Script Variables 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 Variables that are passed on the command line with the -v switch: 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 (a) parentFolder - corresponds to the folder that the script creates and uses 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
     to contain your published reports 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 1.3 Sample Command Lines 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 1.3.1 Use the script to publish the sample reports to an AdventureWorks Sample Reports folder. 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
       rs -i PublishSampleReports.rss -s http://myserver/reportserver 
SQL Server Reporting Service - 一步部署 TFS 项目报表'
 
SQL Server Reporting Service - 一步部署 TFS 项目报表

SQL Server Reporting Service - 一步部署 TFS 项目报表
Dim definition As [Byte]() = Nothing 
SQL Server Reporting Service - 一步部署 TFS 项目报表
Dim warnings As Warning() = Nothing 
SQL Server Reporting Service - 一步部署 TFS 项目报表
Dim parentFolder As String = "" 
SQL Server Reporting Service - 一步部署 TFS 项目报表
Dim parentPath As String = "/" + parentFolder 
SQL Server Reporting Service - 一步部署 TFS 项目报表
Dim filePath As String = "Reports\" 
SQL Server Reporting Service - 一步部署 TFS 项目报表

根据上面的代码可以看到需要一个保存项目名的文件, 最后我们就创建一个ProjectInfo.ini文件, 该文件内容留空即可.

上述文件都船舰好了之后接着创建一个总体的脚本, 命名为Update.bat, 内容为:

SQL Server Reporting Service - 一步部署 TFS 项目报表@ECHO OFF 
SQL Server Reporting Service - 一步部署 TFS 项目报表
SQL Server Reporting Service - 一步部署 TFS 项目报表copy nul ProjectInfo.ini 
/
SQL Server Reporting Service - 一步部署 TFS 项目报表echo 
%2>>ProjectInfo.ini 
SQL Server Reporting Service - 一步部署 TFS 项目报表
SQL Server Reporting Service - 一步部署 TFS 项目报表RS 
-"PublishReports.rss" -"http://%1/ReportServer/" 
SQL Server Reporting Service - 一步部署 TFS 项目报表ImportWIT.bat 
%1 %2
SQL Server Reporting Service - 一步部署 TFS 项目报表

 

以上就是所有需要创建的内容, 如下:

SQL Server Reporting Service - 一步部署 TFS 项目报表

其中RS.EXE文件可以在SQL Server安装目录中找到.

接下来我们来执行升级某个Team Project的具体操作:

打开CMD, 输入如下命令:

SQL Server Reporting Service - 一步部署 TFS 项目报表update.bat [TFSServerName] [TeamProjectName]

 

这样就可以将一个Team Project中的工作项和报表更新成脚本中提到的内容.

完整升级包下载: https://files.cnblogs.com/WilsonWu/TFS_2008_SSWTemplateUpdateScript_ver1-1.zip

相关文章:

  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
  • 2022-01-11
  • 2022-12-23
  • 2021-11-27
猜你喜欢
  • 2022-12-23
  • 2021-09-07
  • 2022-01-20
  • 2022-03-03
  • 2022-01-09
  • 2021-11-28
相关资源
相似解决方案