前几天使用VSTS配置自动部署前端网站(AngularJS)和RESTfulAPI(.NET)到客户环境. 因为都是参考官方文档 https://docs.microsoft.com/zh-cn/vsts/build-release/tasks/ 比较费时间,因此记录下来步骤,但愿能对你们有帮助。html
1. 选择Build and Release -> Builds -> New -> 选择模板ASP.NET,这个模板主要思路是:选择一个代理(至关于云服务器) -> 获取代码 -> 安装NuGet -> 使用NuGet获取引用 -> 编译项目 -> 执行单元测试 -> 上传.前端
2. 关键的配置项. Process中Agent queue, 由于是部署到Windows Server2012, 直接选择Hosted VS2017.如何没有已经存在的代理,须要在设置-> Agent Queues 中下载配置。json
3. Get sources中Server path, 这个代码路径很重要,由于默认设置是寻找.sln文件,因此须要配置合适的路径。api
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结果。ui
9. 执行成功。点击Build 20180121.1 -> Artifacts 能够查看上传的包。debug
10. 若是出现错误,能够查看Phase 1 -> Logs,有详细信息。
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\文件夹查看下载的包,而后匹配配置项。
第一次写博客,哈哈,老是看别人的,本身写好慢啊。欢迎你们指正讨论。加油!!!