通過TeamCity實現ASP.NET Core Web Application的自動編譯及發布


下載

  1. TeamCity,當前版本:2017.1
  2. TeamCity插件:.NET Core Support
  3. .NET Core SDK,當前版本:1.0.1

安裝

安裝TeamCity。需要注意的地方:

  1. 安裝路徑
  2. 端口,這里是9080
  3. 安裝Server和Agent Windows 服務的賬號(這里建議使用系統賬號而不是用戶賬號)

 

安裝完成后會自動打開TeamCity的頁面,開始初始化配置。數據目錄,數據庫和管理用用戶。

安裝TeamCity插件:.NET Core Support。

安裝插件有兩種方式,詳細內容可以參考《Installing Additional Plugins》。這里簡單介紹一下文件拷貝的方式。

  1. 找到插件文件夾,這里是:C:\ProgramData\JetBrains\TeamCity\plugins
  2. 將下載好的插件文件(dotnet-core-plugin.zip)拷貝進去,注意不要修改文件名。
  3. 重啟TeamCity服務,刷新TeamCity頁面,此時TeamCity會自動安裝插件。
  4. 插件安裝完成后可以到Administration->Plugins List頁面中查看插件是否被正確安裝。

安裝.NET Core SDK。

配置

接下來要通過配置TeamCity,完成將Web Application自動編譯、發布的流程。

  1. 創建Project。Administration->Projects->Create Project
  2. 按照實際情況,配置VCS。
  3. 創建項目。
  4. 因為安裝了.net core的TeamCity插件,所以幾個關鍵的build過程會被自動檢查出來。這里只需要前兩個,也就是restore和publish。
  5. 修改發布。這里只修改了Configuration和Output directory
  6. 保存。到這里最基本的自動發布流程已經完成。已經可以運行。

完善

接下來,我會根據一些實際情況,對TeamCity的配置進行一步完善。

  1. 當asp.net core web application寄宿在IIS中的時候,運行上述的流程可能會出現無法拷貝文件的問題。要解決這個問題有兩種方式:
      1. 發布前停止IIS服務,發布完成后啟動IIS服務。添加兩個命令行Step:
        1. 啟動IIS:net start w3svc
        2. 停止IIS:net stop w3svc
      2. 發布前停止站點,發布后啟動站點。添加兩個命令行Step:
      1. 啟動站點:"C:\Windows\System32\inetsrv\appcmd" start sites "name"
      2. 停止站點:"C:\Windows\System32\inetsrv\appcmd" stop sites "name"
      3. 刪除文件:IF EXIST "D:\Sites\Demo" RD /S /Q "D:\Sites\Demo"

參考

  1. 《Build, test and deploy .NET Core projects with TeamCity》
  2. TeamCity《Installing Additional Plugins》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM