關於如何使用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
-
打開CI-Sample.sln, 在網站點選滑鼠右鍵選擇發行
-
新增設定檔 "DeployToIIS"
-
輸入Deploy所需資訊 (在iis上需有站台)
-
點選關閉, 儲存發行設定
-
我們可以在方案資料夾看到發行設定檔被建立, 記得要將這個檔案check in到版本控制系統中
設定Jenkins進行建置
-
打開Jenkins, 建立新的Job
-
輸入版本控制來源
-
輸入建置專案位置, 並帶入參數指定建置時部屬和部屬設定檔
/p:DeployOnBuild=true;PublishProfile=DeployToIIS.pubxml
-
建置專案, 可以看到部屬成功
結語
我們將Jenkins的Deploy也透過發行設定檔來部屬之後,
不論我們使用Visual Studio或是Jenkins來進行網站的部屬工作,
都將會使用同一份設定檔, 並且還可以check in到版本控制系統中,
也不需要擔心萬一修改發行設定的時候, 兩邊會不同步,
透過Jenkins自動進行部屬還可以確保建置環境是乾淨的,
也擁有每次部屬的紀錄以供追蹤,
關於今天的內容如果有任何問題歡迎大家一起討論囉 ^_^