前面我們已經建立了teamcity server 和乙個 agent,接下來我們為乙個.net core 控制台程式配置自動化的編譯。
我們在本地建立乙個簡單的 .net core demo程式 hello (這裡假設您已經安裝了.net core 的 sdk):
mkdir如果能看到輸出 」hello world!」,就說明demo 程式已經ok了:hello
cdhello
dotnet new
dotnet
restore
dotnet
run
否則,請參照 .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開啟 teamcity 進入 build 配置頁面,點選 "run" 按鈕: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
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...