visual studio Team service简单使用

一.介绍

Visual Studio Team Service,简称VSTS,是微软开发的一套集代码管理,build,release,deploy,以及连接Azure自动部署和集成的工具,非常好用。
进入官网,注册/登录MSA账号,这时候会有一个主页,让你输入visualstudio.com的前缀进行注册。

二.VSTS的功能讲解

1.代码仓库

VSTS可以作为代码仓库使用,而且里面可以自定义权限,那些人可以看那些人不可以看。其实teamService就是团队服务的意思,本质上是为团队服务的。只是现在你一个人建立的话那就是你的私人团队。
使用很方便,新建一个project就行了,不管你用的什么编译器或者IDE,使用和git一样

2.团队任务日志

既然是为团队服务,而且有代码仓库功能,name这个工具完全可以作为团队的任务工具,当然做我自己的也未尝不可。

image.png

这个图中,可以看到Work,这个work就是团队任务面板,

image.png

面板中有新的任务,活动中任务,等待处理的任务,和关闭的任务。这些任务可以进行分类,比如是bug还是task等等,方便区分。

而且,重要的是,任务可以和代码进行绑定
比如新建一个代码任务,可以直接在这个任务下新建分支,name远端就会开出一个分支,然后clone下来,本地也切换到这个分支,完成后push上去,并且pull request,approval后这个branch就是消失。这一整套流程在Work中都可见,并且每一个代码哪一步改动也都知道。

3.自动build,自动部署,持续集成(CI),持续部署(CD)

build

见第一张图中的Build&Release,就是部署和发布的选项了。
对于build,首先需要新建一个build Definitions,可以选择一个模板,但是大多采用empty模板,这样可以定制。
选择模板后就看需要对你的代码做什么了,需要终端操作,需要vsbuild?都可以有组件支持,只需要把参数弄对就行。
我的一个模板:

visual studio Team service简单使用_第1张图片
image.png

这是一个asp.net core项目的模板,具体我会距离来说怎么一步一步创建这个模板。

在Triggers中将CI持续集成点上

release

同build一样,release也有一个release Definition,同样也是有模板提供,可以自己选择发布的对象,一般都是在Azure上面。
具体的配置后面再提。

4.敏捷开发

话说开发嘛,测试先行,测试驱动开发,模块开发。VSTS中,如果build中有test模块,也是能够进行自动化测试的。

4.使用步骤

(1)创建project
(2)对project创建build definition和release definition,如果需要azure,则在Azure中创建好相应的资源
(3)创建需求,并且在work中写好要完成什么任务
(4)远程创建分支,clone下来,并且本地切换到同名分支。
(5)代码写好后push上去,然后pull request
(6)code review之后合并到主干,系统会自动build,自动release,deploy到azure
(7)分支关闭

四.距离两种项目的持续集成和持续部署

1.VS2017+asp.net core 1.1 +azure web app

编译器:visual studio 2017
编译环境:asp.net core 1.1
部署环境:azure web app IIS
(1)先build definition
Build your ASP.NET Core app
一开始没用空模板,总是出错,后来使用空模板,然后按照这篇指南一步一步做,就好了。
这里注意,vs2015和vs2017有些不同,release和any cpu后面的框框也要打上勾
(2)再release definition
这时候我就直接选择了模板,第一个

visual studio Team service简单使用_第2张图片
image.png

同时可以参考这篇指南 Implement continuous deployment of your app to an Azure web site
在一个release中部署多个app server也在这篇文章中

上面这个是最简单的,毕竟所有的东西都是微软的,并且是当前最主流的做法,所以没有遇到很大的困难。

2.node.js+gulp+azure web app

参考网站Define a continuous integration build for your Node.js app
首先和上面.net项目一样,创建新的project,建分支,clone。
(1)新建一个nodejs工程,可以用上面这个模板,也可以自己建立。记得将gulp文件和web.config放进去,记得在package.json中配置gulp和gulp-zip
(2)进入自己的VSTS,创建一个空的build definition。在Azure中也创建一个web app

这里官网有一个坑,把cpy publish Artifact :drop写错了,并且还写成了可选,其实是必选,而且名字也不对。

正确的图如下:

visual studio Team service简单使用_第3张图片
image.png

(3)按照上面链接进行build definition的填写。然后写Release definition,release都是一样的,都是将一个zip传到azure,azure自动解析其中的app
(4)azure的deploy和前面的C#一样,系统封装了底层,给外面一个接口deploy。

原理分析:先本地进行代码开发,然后提交到VSTS中,VSTS检测到代码改变,通过设定的build找到gulpfile,使用gulp-zip对其进行打包操作,打包成zip,然后扔到Azure的环境中,Azure检测到是node项目,自动进行deploy

你可能感兴趣的:(visual studio Team service简单使用)