前几天使用VSTS配置自动部署前端网站(AngularJS)和RESTfulAPI(.NET)到客户环境. 由于都是参考官方文档 https://docs.microsoft.com/zh-cn/vsts/build-release/tasks/ 比较费时间,所以记录下来步骤,希望能对大家有帮助。

Build RESTful API

1. 选择Build and Release -> Builds -> New -> 选择模板ASP.NET,这个模板主要思路是:选择一个代理(相当于云服务器) -> 获取代码 ->  安装NuGet -> 使用NuGet获取引用 -> 编译项目 -> 执行单元测试 -> 上传.

2. 关键的配置项. Process中Agent queue, 因为是部署到Windows Server2012, 直接选择Hosted VS2017.如何没有已经存在的代理,需要在设置-> Agent Queues 中下载配置。

3. Get sources中Server path, 这个代码路径很重要,因为默认设置是寻找.sln文件,所以需要配置合适的路径。

4. Build Solution中Visual Studio Version, 按照你的程序版本选择对应的VS.

5. Copy Post Scripts是自己加的,因为部署完成后需要在服务器用newman执行该脚本,所以此处下载该脚本拷贝到程序包里一块上传。

6. 第二列Variables中选择BuildConfiguration是release/debug版本。

7. 第三列Triggers中Continuous integration,都打勾并且配置代码路径,当上传该路径下的代码时会自动开始执行Build。

8. 其他列中使用默认值就可以,点击Save & queue 看一下Build结果。

9. 执行成功。点击Build 20180121.1 -> Artifacts 可以查看上传的包。

10. 如果出现错误,可以查看Phase 1 -> Logs,有详细信息。

Release RESTful API

1. 点击上图中右上方的Release,选择模板IIS Website Deployment,该模板主要流程:下载包到服务器 -> 拷贝包到网站物理路径 -> 自动刷新。红框中的每一个都是配置项,可以使用默认值。Select template框会显示为 1 Phase, 4 tasks,点击它开始配置环境。

2. 关键的配置项。Environment1中Configuration type,如果你的是应用程序,比如www.api.com/myapi/login中的myapi项目,需要选择IIS Web Application或者IIS Virtual Directory。 然后配置网站名称和地址。

3. IIS Deployment中Deployment group, 这个配置项是连接服务器的桥梁。选择Deployment Groups* -> New -> input name -> Copy script to clipboard. 我建的名称是myGroup。

4. 到服务器上Run as Administrator执行该脚本。提示需要Enter personal access token >. 然后回到VSTS中创建token。点击 账号名称 -> Security -> Personal access tokens -> Add -> Create token. 保存该token, 以后是查不到的。

5. 接着到服务器上,输入token. 如图用户名是访问该机器的带域名的用户名和密码。创建成功后会启动vstsagent.xxx.myGroup服务。

6. 打开myGroup -> Targets -> myGroup -> Capabilities. 看一下安装好的属性。也可以在服务器上C\vstsagent\A4 打开路径看看里面的东西,挺有意思。

7. 接着第3步,IIS Deployment中Deployment group,选择myGroup.

8. IIS Web App Manage中Physical path,选择对应的物理路径。

9. 网站部署完成后,将包中的两个json文件拷贝到服务器上的文件夹。

10. 执行newman命令,将执行结果导出到report.html中。

11. Save -> Release -> Create Release -> Deploy。如果有错误可以看Logs详细信息,如果路径有问题,可以在服务器上C:\vstsagent\A4\_work_r1\a\文件夹查看下载的包,然后匹配配置项。

第一次写博客,哈哈,总是看别人的,自己写好慢啊。欢迎大家指正讨论。加油!!!

VSTS/TFS Auto Build的更多相关文章

  1. docker4dotnet #5 使用VSTS/TFS搭建基于容器的持续交付管道

    在过去的几篇d4d系列中,我给大家介绍了如何使用docker来支持asp.net core的应用开发,打包的场景.Asp.net core的跨平台开发能力为.net开发人员提供了使用容器进行应用开发的 ...

  2. 使用VSTS/TFS搭建iOS持续集成环境

    TFS 自2015版开始支持跨平台的持续集成环境,通过提供开源的build agent为 Windows / linux / macOS 提供了统一的持续集成环境管理能力.这篇文章给大家介绍一下如何使 ...

  3. How to Build Office Developer Tools Projects with TFS Team Build 2012

    Introduction Microsoft Visual Studio 2012 provides a new set of tools for developing apps for Office ...

  4. 关于idea的一次踩坑记录-Auto build completed with errors

    maven项目添加pom依赖后,一直不能正常导入所依赖的jar包,并且报错“ Auto build completed with errors”

  5. 搭建TFS 2015 Build Agent环境(一)

    Download the build agent Downloading the build agent is really simple. Navigate to your TFS control ...

  6. 搭建TFS 2015 Build Agent环境(四)

    在通过TFS做DI时,我们经常用到FTP文件上传.TFS发布中,提供了cURL上载文件功能.要想使用此功能,请参考下面步骤启用: 1.登录BuildAgent所在的机器 2.打开cmd(以管理员权限运 ...

  7. TFS online build change web.config

    概要 TFS online 自动编译时如何修改web.config ref:https://dustinoprea.com/2016/05/06/using-tokenization-token-re ...

  8. TFS 2015 Build Agent failing syncing the repository 获取源码 不全 失败

    当我们使用TFS2015d的生成代理时,我们将生成定义加入代理池队列中,但是代理可能无法完全下载我们在TFS代码浏览器中看到的所有目录,这肯定会导致编译失败呀!为什么呢? 原因在于tfscompile ...

  9. 搭建TFS 2015 Build Agent环境(三)

    在配置时,一定要注意下面的几个地方: 1.项目集合生成服务账号 中一定要包含: 2.Build Agent机器上防止Agent的路径一定要短,不要出现特殊字符,比如:C:\Agent 3.一定要安装V ...

随机推荐

  1. Mac OS 终端利器 iTerm2

    之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...

  2. 9.python面向对象编程

    面向对象的几个核心特性如下 Class 类一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.在类中定义了这些对象的都具备的属性(variables(data)).共同的方法 Object 对象 一 ...

  3. npm的使用总结

    npm常用命令 npm list 查看当前目录下已安装的包 npm root -g 查看全局安装的包的路径 npm help 查看全部命令 npm update/uninstall moduleNam ...

  4. React的JSX语法及组件

    最近一个同事很急没有做任何交接就请了陪产假,然后我来维护.说实在的我一开始是一脸懵逼的.因为MV*项目里用的最多的还是Vue:React听说也了解过,但毕竟不熟... 不过不管如何这也是工作:同事也恭 ...

  5. verilog抓外部低频输入信号的上升沿和下降沿

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7220107.html 作者:窗户 Q ...

  6. sublime学习笔记

    学习课程地址:快乐的sublime编辑器_sublime编辑器使用 另可参考笔记地址:http://c.haoduoshipin.com/happysublime/ PS:博主的一些文章地址:http ...

  7. Hello TensorFlow 二 (GPU)

    官方说明:https://www.tensorflow.org/install/ 环境: 操作系统 :Windows 10 家庭中文版 处理器 : Intel(R) Core(TM) i7-7700 ...

  8. Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/ ...

  9. 总结oninput、onchange与onpropertychange事件的用法和区别

    前端页面开发的很多情况下都需要实时监听文本框输入,比如腾讯微博编写140字的微博时输入框hu9i动态显示还可以输入的字数.过去一般都使用onchange/onkeyup/onkeypress/onke ...

  10. jquery获取select选中的值

    http://blog.csdn.net/renzhenhuai/article/details/19569593 误区: 一直以为jquery获取select中option被选中的文本值,是这样写的 ...