Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[從.Net工程師的角度來看DevOps 24]免費build私人Repo的CI Service - Visual Studio Team Service介紹

image
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 和 https://blog.xebialabs.com/2016/03/21/essential-devops-terms/

在上一篇([從.Net工程師的角度來看DevOps 23]在AppVeyor執行Build Script - 整合build資訊到github)介紹完了如何用AppVeyor執行我們定義的build script,不過有時候我們有私人的repo也希望做CI,這個時候免費版本的AppVeyor就不夠了。

這邊將會介紹另外一個能夠build私人repo,由Microsoft提供的免費CI服務,Visual Studio Team Service(VSTS)。

這篇先看內建VSTS所提供的方式來建制範例專案,在下篇在改成執行我們的build script。

題外話,假設之前已經有VSTS帳號,想要移動Region到East Asia,可以參考這篇:[VSTS]如何調整Visual Studio Team Service的區域(Region)

VSTS小檔案

VSTS是微軟提供的一個免費的Team Foundation Server(TFS)的雲端版本,build只是他其中一部分的功能(也是這個系列唯一會用到的部分)。

用VSTS內建的build task來做CI

和AppVeyor一樣,先了解如果沒有build script的情況下,VSTS如何設定build步奏。

在開始之前,先需要在VSTS的帳號建立一個專案:

image
建立專案

因為只使用到build,可以捲動到下面,直接選Setup Build

image
建立一個build definition

這個會把我們帶到Build的頁簽,選擇New Definition

image
建立build definition

可以選擇一個微軟定義好用來建立.Net Desktop的template:

image
選擇template

再來要設定source的位置:

  1. 選擇左邊的Get Source
  2. 選擇Github
  3. 做驗證 - 可以用OAuth或者github的personal token
  4. 選擇要build的repo
image
設定source

選擇右上角的Save & Queue然後設定這個build definition的名稱之後儲存:

image
儲存並且執行build
如果依照上面的步奏直接建立build definition其實會build不起來,需要調整設定檔案裡面的sln檔案位置的設定(要給完整檔案路徑)。這也告訴我們如果沒有自己的build script, 從一個build server到另外一個其實會有些工,更別說無法local執行和CI Server一樣的動作。

檢查執行結果

過了一些時間之後,可以看到build成功: 和AppVeyor比較起來,可以看到VSTS在呈現的畫面比較漂亮一些,左邊是那些定義過的steps執行結果,右邊則是一個簡單的summary。因為內建step有執行test(不過是MSTest),所以有看到test結果(但是只有一筆)。

image
build成功

結語

這篇介紹了VSTS的build服務,並且用內建的Template來建立出build definition的檔案。

透過這篇的操作,也會發現設定build definition和AppVeyor非常不一樣,因此在沒有build script的情況下,要從AppVeyor移動到VSTS有一些工要做(以我們這個範例來說,其實內建的template不做任何事情是沒有辦法build起來), 因此build script非常重要。

下篇將會調整VSTS使用我們的build script做build。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus