iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 18
0
DevOps

從.Net工程師的角度來看DevOps - 到底能夠幫助什麼 之 再戰江湖系列 第 18

[從.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/

在上一篇介紹完了如何用AppVeyor執行我們定義的build script,不過有時候我們有私人的repo也希望做CI,這個時候免費版本的AppVeyor就不夠了。

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

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

同步發表於我的部落格:鏈接 (部落格的格式會漂亮一些)

VSTS小檔案

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

網址:https://www.visualstudio.com/zh-hant/team-services/

  • 免費版本build有:1個月240分鐘
  • 用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的位置:

選擇左邊的Get Source
選擇Github
做驗證 - 可以用OAuth或者github的personal token
選擇要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。


上一篇
[從.Net工程師的角度來看DevOps 23]在AppVeyor執行Build Script - 整合build資訊到github
下一篇
[從.Net工程師的角度來看DevOps 26]Package階段介紹
系列文
從.Net工程師的角度來看DevOps - 到底能夠幫助什麼 之 再戰江湖30

尚未有邦友留言

立即登入留言