繼上一篇設定完Asp.Net的Auto Build之後,接下來這一篇就要來介紹Deployment After Build ,Auto Deployment 這邊會透過 Visual Studio 的 Publish 來完成,所以文章的一開始我們會需要先完成 Visual Studio 的 Publish
step 1. 在設定Visual Studio Publish之前,我們必須在IIS上安裝Web Deploy的相關軟件才能設定成功,所以一開始我們先來安裝Web Deploy
透過下圖的「取得新的網頁平台元件」來安裝Web Platform
點選安裝即可
安裝完成後IIS介面就會多出一個Web Platform的選項,如下圖
step 2. 點選Web platform來安裝Web deploy的相關軟件
在右上方搜尋Web deploy,接著安裝下圖紅匡處的3個軟件
安裝完成後就會發現Server那一層多了一些選項
Application也多了一個項目
step 3 點選Sever那一層的Management Service,啟動remote connection
ps. 記得先stop才能修改喔,修改後也記得start
step 4 在Application點選IIS Manager Permission,加入Server上存在的帳號(VS Publish時要用的)
step 5. 將剛剛設定的帳號jim加入網站目錄下的權限,這樣才可以對這個網站存取
step 5. 記得打開Webdeploy 預設的port : 8172
step 7 接著我們回到Visual Studio,在專案上按右鍵 >> 發行
step 8 選擇IIS >> 發行
step 9 輸入發行相關設定後,可以驗證連線,沒問題後就可以儲存
伺服器:Server的遠端ip or DNS Name
網站名稱 :IIS上建立的網站名稱,也可使用預設的Default Web Site
使用者名稱與密碼:剛才加入Permission的帳號密碼
目的地URL : 發行後欲開啟網站的網址
到這邊我們已經完成從Visual Stusio發行到IIS 的設定,大家也可以發行看看是否可以成功把網站Deploy 到IIS
接下來TeamCity就準備透過剛剛的設定來幫我們Auto Deploy Web Site
step 10 我們回到TeamCity並且進入Build Step的設定畫面,點選Edit
step 11 在最下方的Command line parameters輸入以下內容
1 2 3 4 |
/p:DeployOnBuild=True /p:PublishProfile="CustomProfile" /p:ProfileTransformWebConfigEnabled=False /p:AllowUntrustedCertificate=true |
PS. PublishProfile=”CustomProfile” >> CustomerProfile 是剛才我們在建立玩發行設定檔後會產生的一隻檔案CustomerProfile.pubxml,Teamcity會透過這個設定檔來幫我們Deploy,所以這隻檔案也記得要Push到Git Server上面喔~
最後就可以在TeamCity上測試是否可以成功Deploy囉~
PS. 最後筆者在Deploy的時候有遇到權限不足的錯誤
這邊有兩種解決方式
- 在CustomerProfile.pubxml加入密碼<Password>myPassword</Password>
2 .在Build Step 的 Command line parameters加入 /P:Password=myPassword
以上就是TeamCity 上 Asp.net to IIS Auto Build的簡單介紹,過程如有什麼錯誤也請大家多多指教~謝謝~~~