[Jenkins] 使用發行設定檔來部屬Asp.Net MVC網站

關於如何使用Jenkins來進行自動化網站部屬,

可以參考 http://ithelp.ithome.com.tw/question/10108511 CI Server 22 - 使用Web Deployment Tool部署網站

雖然之前一直都使用Command Line的語法來直接執行MsDeploy,

但還是沒有像使用Visual Studio的發行功能一樣方便,

而且Visual Studio和Jenkins使用不同的方式部屬也擔心會有設定不同步的問題,

最近發現原來MsBuild可以直接指定Visual Studio的發行設定檔進行部屬,

如此一來, 原本擔心的問題也就迎刃而解

前言

關於如何使用Jenkins來進行自動化網站部屬,

可以參考 http://ithelp.ithome.com.tw/question/10108511 CI Server 22 - 使用Web Deployment Tool部署網站

雖然之前一直都使用Command Line的語法來直接執行MsDeploy,

但還是沒有像使用Visual Studio的發行功能一樣方便,

而且Visual Studio和Jenkins使用不同的方式部屬也擔心會有設定不同步的問題,

最近發現原來MsBuild可以直接指定Visual Studio的發行設定檔進行部屬,

如此一來, 原本擔心的問題也就迎刃而解

設定發行設定檔

Sample網站請參考: https://github.com/kirkchen/CI-Sample

  1. 打開CI-Sample.sln, 在網站點選滑鼠右鍵選擇發行

  2. 新增設定檔 "DeployToIIS"

  3. 輸入Deploy所需資訊 (在iis上需有站台)

  4. 點選關閉, 儲存發行設定

  5. 我們可以在方案資料夾看到發行設定檔被建立, 記得要將這個檔案check in到版本控制系統中

設定Jenkins進行建置

  1. 打開Jenkins, 建立新的Job

  2. 輸入版本控制來源

  3. 輸入建置專案位置, 並帶入參數指定建置時部屬和部屬設定檔

    /p:DeployOnBuild=true;PublishProfile=DeployToIIS.pubxml

  4. 建置專案, 可以看到部屬成功

結語

我們將Jenkins的Deploy也透過發行設定檔來部屬之後,

不論我們使用Visual Studio或是Jenkins來進行網站的部屬工作,

都將會使用同一份設定檔, 並且還可以check in到版本控制系統中,

也不需要擔心萬一修改發行設定的時候, 兩邊會不同步,

透過Jenkins自動進行部屬還可以確保建置環境是乾淨的,

也擁有每次部屬的紀錄以供追蹤,

關於今天的內容如果有任何問題歡迎大家一起討論囉 ^_^