Alan Tsai 的學習筆記


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

[從.Net工程師的角度來看DevOps 22]免費的CI Server - AppVeyor介紹

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

在上一篇([從.Net工程師的角度來看DevOps 21]Build階段的總結和重構 - Build Server介紹)對我們的build script在做了一次重構之後,這篇我們來看看一個佛心的CI Server:Appveyor。

CI Server不是什麼新的概念,一直以來有一些免費的CI Server可以使用,例如Travis CI - 不過多是Linux base的Server。 但是由於Windows版權的問題,.Net沒有什麼免費(至少從Open Source專案角度來看)的CI Server 可以用,直到AppVeyor的出現,和後來的Visual Studio Team Service。

在這篇,將會簡單介紹AppVeyor,並且如何把我們的專案準備好,在下一篇在介紹如何整合AppVeryor執行我們的build script。

AppVeyor小檔案

會需要先註冊一個帳號,註冊完之後會進入到Projects的畫面,這邊我們就可以建立要CI執行的專案。

加入要自動建制的專案

選擇New Project

image
選擇New Project

這個專案在Github,所以要先授權讀取Github repo:

image
image
選擇授權github,在確認畫面記得如果專案在Organization要記得勾選

確認之後,會回到AppVeyor的畫面,找到要自動建制的專案並且按下Add

image
加入要建制的專案

加入了之後,會進入到這個專案的最新的build畫面(因為還沒有build過,所以是空的)

image
加入成功的畫面

用AppVeryor內建的方式來build專案

先來試試看沒有build script的情況下如何直接用Appveyor來build專案。

什麼都不設定直接按下build,發現有出現一個錯誤,從訊息來看是缺少nuget restore。

imageimage
執行build之後,出現錯誤

因此我們可以做一些設定:

  1. 切換到Settings頁簽
  2. 選擇左邊Build的選項
  3. Visual Studio solution or project file先設定我們的sln位置,要不然AppVeryor會因為太多專案不知道建制那個而出錯。我們這邊輸入:src\DevOpsUsingPsake.sln
  4. 再來要設定build之前要先restore,因此在Before Build Script選擇CMD
  5. 這個VM裡面已經設定好有nuget在path裡面,所以可以直接呼叫nuget restore src\DevOpsUsingPsake.sln
  6. 最後把修改做了儲存
image
設定的畫面

設定完之後,在build一次,這次就會成功,可以再Test頁簽看到我們的3個Test Dll。

image
出現綠色表示建制成功,並且看到Test dll有出現

直接用build server定義好的方式去建制CI其實非常容易,只是設定幾個值就建立好了。是不是有點覺得花那麼多時間來打造自己的script好像沒什麼意義?

用build server的方式是很容易,但是:

  1. 沒辦法local跑,換句話說本地跑的build和build server跑的可能不同
  2. 每家build server語法不同,如果有天要換要重新設定
  3. 假設設定改壞了,根本無法了解是誰改了設定

結語

這篇是一個快速介紹如何使用Appveyor,並且看了如何用Appveyor的內建設定快速定義出如何build我們專案。

雖然用Appveyor的設定方式很方便就設定好了建制設定,但是有一個local script還是非常有必要。

因此,在下篇,將會看如何用Appveyor執行我們的Build Script。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付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