繼上一篇文章Jenkins搭建.NET自動編譯發布本地環境 發布到本地成功后,接下來配置發布到遠程環境。
Build配置——發布到遠程
根據前面VS中發布項目,生成的CustomProfile2 來配置
1、MSBuild Build File:配置為.\angularDemo\angularDemo.csproj
或者C:\Program Files (x86)\Jenkins\workspace\FirstSite\angularDemo.sln都可以。
2、Build的命令行參數:
配置參數之前需要 在部署站點的服務器上做以下配置。
IIS遠程發布配置
參考:Visual Studio使用Web Deploy遠程發布網站及其配置 【用戶類型不選IIS管理器,直接在Windows里面選用戶,下面的站點的IIS管理器權限里面的用戶也選windows用戶的】
1、在服務器管理器中安裝“管理服務”(若已存在則無須再安裝)
1.1 服務器管理----->角色----->web 服務器IIS
1.2 點擊右下角 “添加角色服務”,彈出選擇“選擇角色服務”對話框
1.3 選中“管理服務” 點擊“下一步”----->點擊“安裝”。安裝完成后,重新打開“服務器管理器”在”Internet 信息服務(IIS)管理器“主界面能看到”管理服務“的圖標。
1.4 打開”管理服務“ 主界面,啟動遠程連接,並設置連接IP地址(服務器IP地址)和端口。然后啟動”服務管理“。
1.5 在防火牆的“入站規則”中添加(若已存在設置為啟用)服務管理的端口號。
安裝和配置Web Deploy
Web Deploy 下載地址
2.1下載完成后打開安裝包,在選擇安裝類型界面選擇”完全安裝“。
2.2 安裝完成后重新打開”服務器管理器”在”Internet 信息服務(IIS)管理器“主界面右鍵單擊任意一個網站名稱,彈出菜單選擇“部署”彈出二級菜單。
若IIS安裝Web Deploy之后站點右鍵沒有部署菜單。則重新安裝Web Deploy,去控制面板里面的“程序和功能”里面,找到Web Deploy,右鍵點擊后選擇“卸載”。
卸載完畢之后,再運行下載好的安裝包。安裝完畢后最好重啟一下,之后便可以在IIS的網站右鍵菜單中,找到新增的“部署”菜單項。
站點連接測試:
2.3 在上一步彈出的二級菜單中點擊“啟用 web deploy 發布” ,彈出“啟用 web deploy 發布” 對話框,選擇一個系統管理員用戶授權(非管理員賬戶發布可能會有權限問題),設置“指定發布服務器連接的url” 中的IP和端口號
此處我們選擇 windows系統用戶(上文有提到),url里面用ip:port。
2.4 點擊“啟用 web deploy 發布” 對話框中的 設置 按鈕。當結果中顯示下圖中的文字則設置成功。到此服務器的配置全部搞定,接下來就是去VS2017 中發布了!
2.5 VS站點發布,方式 web deploy
上文已經介紹過了。
Jenkins配置
1、使用發布配置文件來發布:
/t:rebuild
/p:DeployOnBuild=true;Configuration=Release;VisualStudioVersion=15.0;PublishProfile=CustomProfile2;AllowUntrustedCertificate=True;password=xxxxx
構建之后,站點會發布到CustomProfile2中設置的DeployIisAppPath站點下。
注:相比本地發布,多了后面兩個屬性,不然會報錯(后文有解決方法)
2、當然也可以不使用發布配置文件,直接使用MSBuild命令,來進行編輯和發布MSBuild Build File:
.\angularDemo\angularDemo.csproj
Build的命令行參數:
/t:rebuild
/p:DeployOnBuild=true;ExcludeGeneratedDebugSymbol=false;ExcludeXmlAssemblyFiles=false;SkipExtraFilesOnServer=True;WarningLevel=4;NoWarn=1591;DeployTarget=MSDeployPublish;MSDeployPublishMethod=WMSVC;AllowUntrustedCertificate=True;MsDeployServiceUrl=https://xxx.yyy.zzz.151:8172/msdeploy.axd;username=WDeployAdmin;password=xxxxxxx;DeployIisAppPath=Test/FirstSite;Configuration=Release;VisualStudioVersion=15.0
發布成功,jenkins項目工作台界面輸出:
常見的構建問題報錯,參考:Jenkins構建常見問題