TeamCity 配置第乙個工程

2022-01-13 06:22:51 字數 2883 閱讀 6915

前面我們已經建立了teamcity server 和乙個 agent,接下來我們為乙個.net core 控制台程式配置自動化的編譯。

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

mkdir

hello

cdhello

dotnet new

dotnet

restore

dotnet

run

如果能看到輸出 」hello world!」,就說明demo 程式已經ok了:

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

您可以使用任何**管理工具來管理demo程式的**,因為teamcity幾乎支援我們能見到的所有源**管理工具。筆者使用的是tfs,所以後

面的配置會以tfs為例進行。

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

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

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

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

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 步驟就足夠了:

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

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

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

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

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

sudo

sh -c '

echo "deb [arch=amd64] 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" 按鈕:

Qt with OpenGL 第乙個工程

最近在系統的學習有關opengl的內容,參考的主要學習資料是joey de vries的教程在github上的中文翻譯 learnopengl cn qt5.5版本以上已經整合opengl,不需要在工程檔案 pro 中引入任何庫檔案就可以使用qt中整合的opengl。關於如何在qcreator中新增...

RTT第乙個工程

第乙個rtt工程 1.配置工程 選擇晶元stm32f103c8 其包含該晶元的flash及sram介紹 jlink sw模式 output debug info browse info,可以直接定位函式和變數。2.修改led相關gpio。3.核對串列埠。rtconfig.h中定義串列埠終端rt co...

建立第乙個Django工程

建立第乙個django工程 django環境算是配置完成了,你可以到命令提示符下建立第乙個django應用,進入某個目錄,執行django admin.py startproject myproject來建立乙個工程 這時在myproject目錄下有乙個資料夾myproject和乙個manage.p...