利用VSTS实现Daily Build

http://developer.51cto.com  2007-04-29 18:13  佚名  csdn  我要评论(0)
  • 摘要:本文讲了如何利用VSTS实现Daily Build。
  • 标签:VSTS  Daily Build

1、新建Team Build Type,“Project1Build”

2、建立批处理,"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TfsBuild.exe" start Server1  "Project1" "Project1Build"。利用Windows自带的任务计划,执行批处理。Server1是服务器,Project1是项目,Project1Build是构建类型。

3、自己写一个邮件通知组件,通知团队成员编译结果,将通知命令放入到上面的批处理中。

需要用到下面的两个WebService

http://Server1:8080/Build/v1.0/BuildController.asmx

http://Server1:8080/Build/v1.0/BuildStore.asmx

下面的代码是获取BuildData信息。

 BuildStore bi = new BuildStore();
bi.Credentials = System.Net.CredentialCache.DefaultCredentials;
BuildData[] builds = null;
try
...{
builds = bi.GetListOfBuilds(_teamProject, _buildType);
}
catch (Exception e)
...{
Log.LogError("Exception when calling Webservice: " + bi.Url, e.ToString());
throw;
}
if (builds != null)
...{
foreach (BuildData bd in builds)
...{
if (bd.BuildQuality == "Unexamined")
...{
ClientBuildData data = new ClientBuildData();
data.BuildUri = bd.BuildUri;
data.DropLocation = bd.DropLocation;
data.BuildNumber = bd.BuildNumber;
data.BuildStatus = bd.BuildStatus;
data.StartTime = bd.StartTime;
this.buildDatas.Add(data);
}
}
}
return true;

发送邮件通知的代码我就不贴了,到处都是。

4、做安装盘也可以写成批处理,无非是copy编译好的dll到安装目录。还有一点就是可能需要从VSS中获取Sql等。可以通过:tf get "\\Server1\Sql" /force /recursive ,上MSDN查找一下VSS的tf命令吧。

做完这些事情之后,每天上班,就会看到半夜build的情况,如果有问题,马上就能发现。当需要做安装盘的时候,只是选择编译成功的build,执行一下批处理即可。如果写了UnitTest,作用更大。实现Daily build,目的就是让开发过程中的问题及时暴露、及时修复。另外一点就是提高做build的效率。

【责任编辑:雪花 TEL:(010)68476606-8007】

深入Vista应用程序开发
走向银光 —— 一步一步学Silverlight2
让你的代码“炫”起来——WPF开发教程
WebSphere 实现SOA的利器
初探敏捷开发
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有