工欲善其事,必先利其器。在開始正式的教程之前我們先來聊聊準備工作。
- 管理工具會VSTS。
- 代碼管理會用GITHUB。
-
伺服器會用Azure。
所有的東西都是利用現有服務。不會說自己從虛拟機開始玩。我們就專注于寫代碼。
什麼是VSTS?
VSTS的全稱是Visual Studio Team Services。
介紹VSTS之前先說下TFS(Team Foundation Server)。TFS是微軟推出的一款ALM(Application Lifecycle Management)軟體生命周期管理工具。通過它你可以從代碼管理->代碼版本管理->項目管理->持續內建->自動釋出->自動測試等一系列軟體生命周期在内的全家桶功能。
而VSTS(Visual Studio Team System)是基于SaaS(多租戶)化TFS的雲産品。
聽了之後是不是感覺很強大。
關于Github
Git 是由 Linux 之父 Linus Tovalds 為了更好地管理linux核心開發而創立的分布式版本控制/軟體配置管理軟體。
GitHub是一個通過
Git 進行 版本控制 的軟體源代碼托管服務,由GitHub公司(曾稱Logical Awesome)的開發者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用 Ruby on Rails 編寫而成。
先上一張圖
圖檔來自知乎。
為什麼會有這個需求。
目前Github作為一個全球最大的碼(tong)農(xing)交友社群。也是最大的開源社群,但是它沒有自動部署,在導航篇的時候我們說了。我們是一個,通過開源實際項目的方式給大家一個良好的體驗。
涉及到的技術也會用微軟全家桶的方式來進行開發的。
恭喜VSTS開通香港節點
沒有香港節點也就是東亞區域之前呢,大家隻能從 美國中部、加拿大中部、西歐、印度南部、澳洲東部、巴西南部這幾個節點選擇賬戶所在區域。
這些節點都有一個特點,對我們國家不怎麼友好。按照 Julia 的說法,我們國家強大的防火牆。恩恩。
在11月2日的微軟科技大會上,微軟研發部門的全球副總裁潘正磊女士宣布了微軟研發雲VSTS将于2017年底前落地中國香港。然後在10号的時候VSTS的老大布雷恩就宣布開通了VSTS在香港的節點。
這意味在大陸使用微軟全家桶的速度, 蹭蹭噌的加速了。
好了,閑話少叙。開始幹吧!
注冊VSTS
首先你要有一個微軟郵箱,沒有自己去注冊。
然後打開
https://app.vsaex.visualstudio.com/me?mkt=zh-CN建立賬戶。
image.png
這裡的所在地一定要選擇東亞,因為其他地區的速度慢。
正文
我們現在開始做一些正經事。
- 首先建立一個新項目
- 建立完畢後,進入項目。
-
在Build And Release 菜單欄下的Builds中,選擇建立一個“Empty process” 。
你可以給這個任務建立一個名字,然後這裡有幾個隊列,我們選擇"Hoste vs2017"的隊列
- 然後選擇“Get Sources” ,選擇github。
這裡需要你的github賬戶授權,這裡你可以選擇用網頁授權還是用個人密鑰授權。
我們采用Authorize using OAuth,然後這裡請注意,彈窗很容易被攔截。
這裡你要允許彈出。
授權成功後,可以看到你github中倉庫的資訊。 - 然後選擇菜單欄上的“Triggers”觸發器按鈕。打開觸發器,
-
選擇Options配置下資訊。
Build number format 是指建立生成的生成碼。你可以試試。
最後,右上角“Save& queue”儲存。 儲存資訊
至此整個功能配置已經完畢了。
使用VSTS給github的README 檔案建立建構狀态
建構完畢了,我們來看看怎麼讓逼格顯得稍微高大上點。打開我們的github項目。
以上是效果圖!!!
連結位址:
https://github.com/ltm0203/aspnetcore我們在VSTS中為項目建立一個自定義的通知消息,方法是利用VSTS的建構生成的URL,利用markdown的文法來完成。
- 首先在打開你的github,導航到你所在的倉庫,這裡我們使用的是aspnetcore項目中。
-
建立一個README.md的檔案。
然後将vsts中生成的徽章标記連結,粘貼到README.md檔案中即可。
代碼段:
[<img src="https://ltm0203.visualstudio.com/_apis/public/build/definitions/06667c49-f49d-4e3b-8eda-1ee96b1914c7/1/badge">](https://51abp.visualstudio.com/_apis/public/build/definitions/d985e2b0-acd1-4556-bcb9-148d80437520/1/badge)
vsts中生成的徽章URL:
徽章URL.png
- 在github項目中的"Setting"中,打開webhooks,可以看到你綁定的webhook。每次對GitHub倉庫的送出都會觸發VSTS中的建構。
- 我們傳回到vsts中,打開build。可以看到我們建立的隊列。 這裡可以看到更加詳細的統計資訊,你編譯的次數,狀态,每次送出的資訊等等。
實際開發呢?
在實際開發的項目中,我們更多的時候,是一個幾個功能寫好了才送出一次,而目前的情況每個檔案發生變化就編譯一次,這稍微有點不合理。我們通過對隊列任務這裡你可以随意取一個名字的進行修改,讓項目編譯更加的合理。修改為每送出一次才編譯。
- 打開VSTS,點選“Build & Release”,再點選“Builds”,找到任務名稱“這裡你可以随意取一個名字”,然後點選“Edit”按鈕。
- 點選‘Trigger’.修改起來也很簡單。。
看這裡.png
修改為如圖所示即可。
- 然後點選Save & queue,再點選Save。
總結
以上就是利用Vsts自動編譯建構項目的完成,然後在github項目中看到項目的建構狀态!
核心是為了解決幫助大家在開發過程進行的日常編譯問題。自動化建構。
VSTS的整體功能肯定不止這麼一點,在後面的日子内,我會帶着大家慢慢玩!
請掃描此二維碼關注公衆帳号,你将會得到及時的文章推送資訊。