visual studio Team service簡單使用

一.介紹

Visual Studio Team Service,簡稱VSTS,是微軟開發(fā)的一套集代碼管理,build,release,deploy,以及連接Azure自動部署和集成的工具,非常好用。
進入官網(wǎng),注冊/登錄MSA賬號,這時候會有一個主頁,讓你輸入visualstudio.com的前綴進行注冊。

二.VSTS的功能講解

1.代碼倉庫

VSTS可以作為代碼倉庫使用,而且里面可以自定義權(quán)限,那些人可以看那些人不可以看。其實teamService就是團隊服務(wù)的意思,本質(zhì)上是為團隊服務(wù)的。只是現(xiàn)在你一個人建立的話那就是你的私人團隊。
使用很方便,新建一個project就行了,不管你用的什么編譯器或者IDE,使用和git一樣

2.團隊任務(wù)日志

既然是為團隊服務(wù),而且有代碼倉庫功能,name這個工具完全可以作為團隊的任務(wù)工具,當然做我自己的也未嘗不可。

image.png

這個圖中,可以看到Work,這個work就是團隊任務(wù)面板,

image.png

面板中有新的任務(wù),活動中任務(wù),等待處理的任務(wù),和關(guān)閉的任務(wù)。這些任務(wù)可以進行分類,比如是bug還是task等等,方便區(qū)分。

而且,重要的是,任務(wù)可以和代碼進行綁定
比如新建一個代碼任務(wù),可以直接在這個任務(wù)下新建分支,name遠端就會開出一個分支,然后clone下來,本地也切換到這個分支,完成后push上去,并且pull request,approval后這個branch就是消失。這一整套流程在Work中都可見,并且每一個代碼哪一步改動也都知道。

3.自動build,自動部署,持續(xù)集成(CI),持續(xù)部署(CD)

build

見第一張圖中的Build&Release,就是部署和發(fā)布的選項了。
對于build,首先需要新建一個build Definitions,可以選擇一個模板,但是大多采用empty模板,這樣可以定制。
選擇模板后就看需要對你的代碼做什么了,需要終端操作,需要vsbuild?都可以有組件支持,只需要把參數(shù)弄對就行。
我的一個模板:

image.png

這是一個asp.net core項目的模板,具體我會距離來說怎么一步一步創(chuàng)建這個模板。

在Triggers中將CI持續(xù)集成點上

release

同build一樣,release也有一個release Definition,同樣也是有模板提供,可以自己選擇發(fā)布的對象,一般都是在Azure上面。
具體的配置后面再提。

4.敏捷開發(fā)

話說開發(fā)嘛,測試先行,測試驅(qū)動開發(fā),模塊開發(fā)。VSTS中,如果build中有test模塊,也是能夠進行自動化測試的。

4.使用步驟

(1)創(chuàng)建project
(2)對project創(chuàng)建build definition和release definition,如果需要azure,則在Azure中創(chuàng)建好相應(yīng)的資源
(3)創(chuàng)建需求,并且在work中寫好要完成什么任務(wù)
(4)遠程創(chuàng)建分支,clone下來,并且本地切換到同名分支。
(5)代碼寫好后push上去,然后pull request
(6)code review之后合并到主干,系統(tǒng)會自動build,自動release,deploy到azure
(7)分支關(guān)閉

四.距離兩種項目的持續(xù)集成和持續(xù)部署

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

編譯器:visual studio 2017
編譯環(huán)境:asp.net core 1.1
部署環(huán)境: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

參考網(wǎng)站Define a continuous integration build for your Node.js app
首先和上面.net項目一樣,創(chuàng)建新的project,建分支,clone。
(1)新建一個nodejs工程,可以用上面這個模板,也可以自己建立。記得將gulp文件和web.config放進去,記得在package.json中配置gulp和gulp-zip
(2)進入自己的VSTS,創(chuàng)建一個空的build definition。在Azure中也創(chuàng)建一個web app

這里官網(wǎng)有一個坑,把cpy publish Artifact :drop寫錯了,并且還寫成了可選,其實是必選,而且名字也不對。

正確的圖如下:

image.png

(3)按照上面鏈接進行build definition的填寫。然后寫Release definition,release都是一樣的,都是將一個zip傳到azure,azure自動解析其中的app
(4)azure的deploy和前面的C#一樣,系統(tǒng)封裝了底層,給外面一個接口deploy。

原理分析:先本地進行代碼開發(fā),然后提交到VSTS中,VSTS檢測到代碼改變,通過設(shè)定的build找到gulpfile,使用gulp-zip對其進行打包操作,打包成zip,然后扔到Azure的環(huán)境中,Azure檢測到是node項目,自動進行deploy

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • 若要將應(yīng)用程序開發(fā)的生成、測試和部署階段自動化,可以使用持續(xù)集成和部署 (CI/CD) 管道。 本教程介紹如何在 ...
    ITknight閱讀 843評論 0 0
  • 持續(xù)集成 (CI) 和持續(xù)部署 (CD) 是一個管道,可以通過它生成、發(fā)布和部署代碼。 Team Services...
    ITknight閱讀 708評論 0 0
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,690評論 1 32
  • 我從你的小鎮(zhèn)經(jīng)過 在煙雨蒙蒙的三月里 你家門前的那條小溪 靜靜流淌的溪水 似乎還在沉睡 但我 聞到了河岸上 第一朵...
    阿B姑娘閱讀 311評論 0 0

友情鏈接更多精彩內(nèi)容