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的效率。