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?都可以有组件支持,只需要把参数弄对就行。
我的一个模板:

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
这时候我就直接选择了模板,第一个

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写错了,并且还写成了可选,其实是必选,而且名字也不对。

正确的图如下:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 若要将应用程序开发的生成、测试和部署阶段自动化,可以使用持续集成和部署 (CI/CD) 管道。 本教程介绍如何在 ...
    ITknight阅读 697评论 0 0
  • 持续集成 (CI) 和持续部署 (CD) 是一个管道,可以通过它生成、发布和部署代码。 Team Services...
    ITknight阅读 653评论 0 0
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,428评论 1 32
  • 我从你的小镇经过 在烟雨蒙蒙的三月里 你家门前的那条小溪 静静流淌的溪水 似乎还在沉睡 但我 闻到了河岸上 第一朵...
    阿B姑娘阅读 265评论 0 0