`
lovnet
  • 浏览: 6865830 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

TFS 部署管理器 - 自动化你的部署流程

阅读更多

转自:http://www.almnetworks.net/zh-CN/post/2010/07/07/Getting-Started-with-TFS-Deployer.aspx

微软在昨天发布了TFS Deployer http://tfsdeployer.codeplex.com, 这个产品最初是由一家澳大利亚的咨询公司Readify开发的,并且被他们广泛用于内部开发系统中。下面这篇文章是Readify的CTO, Mitch Denny写于2006年的介绍TFS Deployer的博客。可能听上去有点老,但是如果你想在TFS系统实现真正的持续集成,并把产品自动的从开发部署到测试环境,再由测试环境部署到生产环境,这是个非常好的工具。

TFS Deployer (TFS部署管理器)介绍

简单来说,TFS部署管理器是安装在你的测试以及生产环境中的一个代理程序,它可以监听TFS所发出的一些事件,并自动执行制定的PowerShell脚本以便进行自动化部署。更加准确一点,TFS部署管理器会监听构建质量变化事件(build quality change notificaions),当你修改构建质量标签的时候,TFS就会发出这些事件。

在TFS部署管理器中,包含一个发布管理器(Release Manager),发布管理器通过团队浏览器来更新构建的质量标签,构建服务会发出一个事件,发送给所有监听这个事件的监听代理。所以,你可以部署多个服务器上部署监听代理。当然TFS部署管理器并不知道应该如何这个事件,除非你在部署配置文件中进行配置。

对于每一个不同的质量标签变化事件,可以在部署配置文件中制定需要在哪台服务器上执行什么样的PowerShell脚本,通过这个脚本,我们就可以完成需要的部署操作。

Readify 在完成TFS部署管理器的开发后就一直在内部使用这个产品来完成即时的更新,构建和部署我们的timesheet系统;这些操作还需要配合TFS集成服务(TFS Integrator)。下面的内容是关于如何配置TFS部署管理器来完成这些自动化的操作。

安装TFS部署管理器

首先下载部署管理的安装包。这个安装包非常超简单,仅仅是把程序文件和默认配置文件安装到C:\Program Files\TFS Deployer目录,然后你需要完成一系列的配置来完成自动化的操作。

第一步:你需要注册TFS部署管理器的服务,使用-i参数来执行TFSDeployer.exe可执行文件。完成以后你就可以在服务管理器(services.msc)中找到TFS Deployer 这个服务。你需要跟新这个服务的登录帐户,确保这个账户可以访问你的TFS。

在启动服务之前,你需要更新TfsDeployer.exe.config配置文件,主要参数如下:

  • FromAddress:邮件发送地址
  • SmtpServer:smtp服务器地址
  • ToAddress:默认通知邮件地址,当TFS部署管理器发现部署失败或者成功的时候,会想这个地址发送通知邮件;
  • BaseAddress:这是TFS部署管理器实例的地址,你需要使用一个网络地址以便确保TFS可以通过网络访问到这个服务实例。
  • RegistrationUserName:这是进程所使用的用户账户名称,也是由于监听TFS事件的账户;
  • TeamFoundationServerUrl:TFS服务器的URL;
  • UseDefaultCredentials:是否使用默认身份,除非你使用域环境进行部署,否则应该为true.

配置完成后你就可以启动服务了,启动之后TFS部署管理器服务会连接到TFS,并且开始监听所有的构建质量变化事件。

准备部署脚本

部署脚本需要和不同的构建定义对应,并且针对不同的构建质量变化进行设计。

部署配置信息文件需要存放在构建定义目录的deployment子目录中。比如:下面的截图显示我们在CrmOntTime这个项目中定义了一个叫CrmOnTimeContinuous的构建定义, 在这种情况下,TFS部署管理器会在$/CrmOnTime/TeamBuildTypes/CrmOnTimeContinuous/Deployment 目录中寻找DeploymentMapping.xml文件作为部署配置文件。

DeploymentMappings.xml 文件内容非常简单,其内容就是根据不同的构建质量变化在那台服务器上执行哪一个脚本,另外还需要配置一个邮件地址来发送相应的通知。

TFS部署管理器会找到这个配置文件,并把它和相应的脚本下载到Deployment 补录中,比如在上图中的UnexaminedToTest.ps1。这个PowerShell脚本执行怎样的操作完全由开发人员决定,值得一提的是在脚本中你可以使用BuildData (refer to Team Foundation Server SDK)对象,通过这个对象你可以很容易的从构建目录中获取相应的文件。

脚本准备完成后,就可以测试你的部署流程了,希望这个TFS部署管理器对大家有所帮助。

(以上内容大部分翻译自Mitch的blog)。

分享到:
评论

相关推荐

    IDEA新版本2020.3的TFS插件

    4. **持续集成**:与TFS的构建服务集成,可以触发或查看远程构建状态,提升自动化测试和部署效率。 5. **同步与推送**:通过图形化的界面,轻松实现本地代码与TFS仓库的同步,确保团队成员共享最新代码。 6. **...

    TFS2010管理及使用说明文档

    4. 测试管理:TFS2010提供了测试计划、测试用例、测试结果管理和自动化测试工具,帮助团队进行质量管理。 5. 持续集成:TFS2010集成了Build服务,支持构建触发器、自动化的编译和测试,确保代码的质量和稳定性。 ...

    Python库 | tfs_seon_client-2.0.7-py3-none-any.whl

    3. **构建管理**:可以触发TFS的构建定义,监控构建状态,并获取构建结果,从而实现自动化部署和测试。 4. **源码拉取和推送**:利用库的功能,可以自动化地从TFS仓库中获取源代码,或者将本地修改推送到服务器,...

    TFS2008配置文档

    Team Foundation Server (TFS) 2008是Microsoft推出的一款强大的软件开发协作平台,它集成了版本控制、项目管理、缺陷追踪、构建管理和工作流自动化等多个功能,旨在提升团队的工作效率,实现敏捷开发和持续集成。...

    TFS使用手册

    TFS不仅提供了基本的源代码版本控制功能,还具备一系列强大的项目管理工具,如任务分配、缺陷追踪、变更管理、审批流程、问题跟踪、自动化构建以及风险控制等,将这些关键活动集成到一个统一的平台,极大地提升了...

    有关TFS自动编译的程序

    TFS是微软提供的一款版本控制和项目管理工具,它包含了源代码管理、工作项跟踪、持续集成(CI)以及自动化测试等功能。在TFS中设置自动编译可以极大地提高开发效率,确保每次代码提交后都能快速验证其正确性。 描述...

    TFS 工具 TFS tools

    例如,使用C#或VB.NET,开发者可以编写程序来自动化TFS的任务,如自动编译、测试和部署。 **TFSTest** 在提供的压缩包文件列表中,"TFSTest"可能是一个用于测试TFS功能的工具或项目。这个文件可能包含了一系列的...

    TFS资料

    Team Foundation Server(TFS)是微软推出的一款强大的协作平台,主要面向软件开发团队,提供版本控制、项目管理、敏捷开发支持、自动化构建、测试管理、缺陷跟踪等多种功能。这款工具旨在提升团队协作效率,实现...

    PyPI 官网下载 | dohq-tfs-1.0.dev36.tar.gz

    例如,你可以使用它来自动化报告生成,追踪项目进度,或者集成CI/CD流程。通过阅读库的文档和查看示例代码,开发者可以了解如何充分利用这个库的功能。 总的来说,`dohq-tfs`是一个针对TFS的Python客户端库,它简化...

    VS2010_TFS入门指南

    Microsoft Team Foundation Server (TFS) 是一种全面的协作平台,专为软件开发团队设计,提供源代码管理、项目跟踪、自动化构建、报告、实验室管理等功能。随着Visual Studio 2010 (VS2010) 的发布,TFS也迎来了一...

    tfs2010 assigned To改变邮件自动转发

    TFS 2010是一款由Microsoft开发的版本控制和项目管理工具,它提供了全面的工作流程管理、源代码控制、缺陷跟踪以及敏捷开发支持等功能。"Assigned To"字段是TFS工作项的核心属性之一,用于指定负责执行特定任务的...

    TFS,自动测试和持续集成

    标题 "TFS,自动测试和持续集成" 涉及的是使用Team Foundation Server(TFS)进行软件开发过程中的自动化测试和持续集成实践。TFS是Microsoft提供的一款强大的版本控制系统和项目管理工具,广泛应用于敏捷开发环境中...

    TFS2013功能说明以及使用教程

    - **持续集成/持续交付(CI/CD)**:自动化构建过程,支持自动化的测试和部署,确保软件质量的同时提高开发效率。 ##### 4. 报告与追踪 - **报告工具**:提供详尽的项目报告,包括进度报告、缺陷跟踪等。 - **问题...

    11_使用 TFS 进行项目管理(上)

    4. **连续集成(CI)与持续部署(CD)**:TFS可以通过构建和发布定义来实现自动化的代码构建和部署,减少手动操作,提高开发效率和产品质量。 5. **报表和度量**:TFS可以生成各种报表,如燃尽图、速度图等,帮助...

    TFSGuide学习微软TFS指南

    这部分将介绍如何设置自动化构建和测试,以确保每次代码提交后都能快速得到反馈。此外,它还将涵盖如何规划和执行测试,使用TFS的测试管理功能进行缺陷跟踪,以及如何生成详细的测试报告。 通过这份指南的学习,你...

    TFS技术学习

    TFS的构建服务允许自动化构建和部署流程,可以配置触发器以在代码提交时自动运行构建。这有助于确保代码的持续集成和快速反馈。TFS还支持自定义构建过程,可以集成各种脚本和工具,以满足不同项目的构建需求。 4. ...

    tfsserver2017.0.1.rar

    5. **构建与部署**:TFS的Build和Release Management组件可以自动化构建过程,实现持续集成,并能设置复杂的发布流程,进行持续部署。 6. **集成环境**:TFS可以与其他Microsoft产品(如Visual Studio)无缝集成,...

    TFS自动下载build参考及代码实现

    **TFS自动下载build参考...总的来说,通过TFS API和适当的编程技巧,我们可以实现自动化下载TFS build的目标,这在持续集成/持续部署(CI/CD)流程中尤其有用,能够方便地获取最新的构建结果,从而加速开发和测试进程。

    TFS 插件14.0

    5. **自动化测试**:TFS 14.0集成了测试管理功能,支持创建、执行和管理自动化测试用例。这包括与Visual Studio的紧密集成,使得测试人员可以编写和执行单元测试、集成测试和负载测试。 6. **协作与报告**:TFS ...

Global site tag (gtag.js) - Google Analytics