[英]Add a *new* DestinationBinding for a site to a package using MSDeploy
我正在使用帶有MSDeploy的臨時模型將我們的幾個站點部署到Web場。 這些站點僅在暫存框中的IIS中配置,然后使用MSDeploy從頭開始構建目標Web服務器。
登台框為將要生效的站點使用自己的綁定(即沒有標頭條目,不同的IP /端口和沒有主機標頭)。 當我部署它們時,我首先有一個xml文件,用於准備一個參數化包(使用-declareParamFile
開關),它聲明參數如下:
<parameters>
<parameter name="site1">
<parameterEntry kind="DestinationBinding" scope="Site1" match=":17000:" />
</parameter>
</parameters>
因此,在上面的XML中,您可以看到暫存的站點托管在端口17000上,因為match
屬性設置為匹配具有該值的綁定。
當我然后部署到每個實時站點時,我使用不同的參數XML來指定該機器的正確主機頭和IP - 我使用-setParamFile開關應用它。 這是其中一個例子。
<parameters>
<setParameter name="site1" value="[ip_addr]:[port]:[host_header]"/>
</parameters>
因此,因為原始參數被聲明為匹配其中一個已知綁定 - 我可以將該綁定替換為我實際希望它在每個實時服務器上的綁定。
我現在要做的是部署網站並添加新的目標綁定,其中包含我們擁有的不同頂級域名(即site.com,site.co.uk,site.ca等),所有這些都綁定在同一個IP地址上和港口。
想要這樣做的原因是:
問題是我認為似乎沒有任何方法可以添加此類信息。 我已經嘗試在第二個XML中添加多個setParameter
元素,但這只是具有重復覆蓋綁定的效果,最后一個作為最終的贏家。
一個解決方案是我為登台框中的每個站點添加“占位符”綁定,它代表每個域名,端口等的目標外部綁定; 然后我修改兩個參數文件來替換那些與真實綁定的綁定。
但對我來說,這感覺是完全錯誤的 - 這將模擬升級盒以適應實時部署; 它應該是相反的方式。
是否可以使用MSDeploy實際添加站點綁定(如果是,如何?),還是僅支持替換?
經過多次打擊之后,似乎沒有辦法使用msdeploy使用DestinationBinding操作添加新綁定。
可能的做法是在部署之后附加要執行的腳本,每次使用appcmd添加綁定。
因此,通過msdeploy進行的初始同步將刪除這些綁定(因為它們不在登台服務器上),但appcmd腳本會再次添加它們。
然而,這不是一個理想的解決方案,因為它是另一個必須保持最新的腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.