TeamCity : 配置第一個工程

sparkdev發表於2016-10-29

前面我們已經建立了TeamCity Server 和一個 Agent,接下來我們為一個.net core 控制檯程式配置自動化的編譯。

建立 .net core 專案

我們在本地建立一個簡單的 .net core demo程式 hello (這裡假設您已經安裝了.net core 的 SDK):

mkdir hello
cd hello
dotnet new

dotnet restore
dotnet run

如果能看到輸出 ”Hello World!”,就說明demo 程式已經OK了:

否則,請參照 .net core的相關文件進行排查。

管理原始碼

您可以使用任何程式碼管理工具來管理demo程式的程式碼,因為TeamCity幾乎支援我們能見到的所有原始碼管理工具。筆者使用的是TFS,所以後面的配置會以TFS為例進行。

好了,我們已經完成了準備工作,下面就進入TeamCity開始建立相關的配置。

建立 TeamCity project

TeamCity 透過工程來管理專案相關的配置,所以我們先為 hello 程式建立一個 project。

點選 "Create project" 按鈕開始建立 project:

選擇手動建立相關的配置,然後進入建立 project 頁面:

輸入 project 的名稱,然後點選 "Create" 按鈕完成 project 的建立。

建立 build 配置

Project 可以包含一個或多個 build 配置,這些build 配置才是正幹活的單位。我們的目的是要完成 hello 程式的自動化編譯,所以我們需要建立一個 build 配置來完成這個工作。

選擇手動建立一個 build 配置:

為新的 build 配置指定一個名稱, 然後點選 "Create" 按鈕完成建立並開始配置這個 build。

配置原始碼工具

要編譯程式碼,首先要解決從哪裡獲取程式碼的問題,透過建立一個新的 VSC Root,我們告訴 TeamCity 從TFS 上獲取程式程式碼。當然,在這裡要選擇正確的 VCS 型別。

接著為新的 VCS Root 指定名稱,並且設定獲取程式碼的詳細資訊:

設定完成後可以先點選 "Test connection" 按鈕測試一下,然後點選 "Create" 按鈕完成 VCS Root 的建立。

看樣子 TeamCity 已經可以從 TFS 上獲取程式碼了,但我們仍然需要關注兩處細節。

1. 管理獲取到 Agent 上的程式碼的路徑:

此處的設定為: 把取到的程式碼統統放入 hello 目錄中。

2. 透過 TeamCity Server 來獲取程式碼

由於我的 Agent 並不能直接連線 TFS, 所以我們可以讓 TeamCity 從 TFS 上獲取程式碼然後傳遞到 Agent 上去編譯。

新增 build 步驟

由於稍微複雜一些的任務都不能一步搞定,所以可以為一個 build 配置新增多個 build 步驟。執行的時候,這些步驟被一個接一個的順序執行。

我們的任務太簡單了,所以新增一個命令列型別的 build 步驟就足夠了:

其實,我們就是在 hello 目錄下執行了 dotnet restore 和 dotnet build 兩條命令而已。

收集編譯產物

為了得到編譯後的程式,我們需要把它們收集起來,然後透過 TeamCity 進行分發。

其實就是指定一個目錄,然後讓 TeamCity 把裡面的東西都新增到一個壓縮包裡。

到此為止,TeamCity Server 上的配置已經完成了。但是真正幹活的是 Agent, 所以我們還要看看 Agent 到底能不能完成編譯 hello 程式的任務。

為 Agent 安裝 .net core SDK

因為真正的編譯是在 Agent 上完成的,所以我們必須保證,hello 程式能夠在 Agent 被編譯。那麼當務之急就是在 Agent 上安裝 .net core SDK。我們的 Agent 的 OS 是 Ubuntu 14.04,所以參照 .net core SDK 的安裝說明進行安裝即可:

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-dev-1.0.0-preview2-003131

檢查勞動成果

開啟 TeamCity 進入 build 配置頁面,點選 "run" 按鈕:

在編譯完成後,我們可以點選下載編譯後的 hello 程式。

相關文章