ms-release-management - 发布管理 12 - 创建带有主机标题的网站

标签 ms-release-management

有没有办法使用 Release Management v12 创建一个包含主机头选项的网站?

我的目标是能够在单个服务器上托管多个站点,所有站点都绑定(bind)到具有不同主机头的端口 80。即http://project1.development.local/ , http://project2.development.local/

我可以使用 AppCmd.exe 的主机 header 创建一个网站,但这需要管理权限。考虑过使用powershell,但会触发UAC提示。

目前,我必须手动创建服务器的网站以包含主机 header ,并且我希望有一个完全自动化的发布过程。

蒂亚!

最佳答案

它没有任何现成的东西,但幸运的是,我已经一起破解了一些东西来处理站点绑定(bind):

param( 
$SiteName=$(throw "Site Name must be entered"), 
$HostHeader,
$IpAddress,
$Port,
$RemoveDefault=$(throw "You must specify true or false") 
) 


Import-Module WebAdministration 

try { 
  $bindingExists = (Get-WebBinding "$SiteName" -Port "$Port" -Protocol "http" -HostHeader "$HostHeader" -IPAddress "$IpAddress") 

  if (!$bindingExists) { 
      Write-host "Creating binding for $SiteName : Host header $HostHeader and IP Address $IpAddress" 
      New-WebBinding "$SiteName" -Port $Port -Protocol "http" -HostHeader "$HostHeader" -IPAddress "$IpAddress" 

  } 
  else { 
      Write-host "Site $SiteName already has binding for host header $HostHeader and IP Address $IpAddress" 
  } 

  if ($RemoveDefault -eq "true") { 
      $defaultBinding = Get-WebBinding "$SiteName" | where {$_.bindingInformation -eq "*:80:" } 
      if ($defaultBinding -ne $null) { 
          Write-Host "Default binding exists... removing." 
          $defaultBinding | Remove-WebBinding 
      } 
      else { 
          Write-Host "Default binding does not exist" 
      } 
  } 
} 
catch { 
  Write-host $_ 
  exit 1 
} 
exit 0 

您可以在 RM 中创建自定义工具来利用此脚本,只需将 param 中指定的参数传递给它即可。堵塞。

您永远不必使用 AppCmd.exe... 如果内置工具不能满足您的需求,WebAdministration PowerShell 模块应该能够执行其他所有操作。

关于ms-release-management - 发布管理 12 - 创建带有主机标题的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23293400/

相关文章:

azure-devops - 如何访问工件的 BUILDNUMBER 是 Visual Studio Team Services 发布管理

powershell-remoting - 使用 Powershell 的 Release Management 2013 vNext 版本需要哪些权限

tfs - 我什么时候应该 "Release"我的构建?

azure - 我可以使用 VSTS Release Manager 在我的应用程序服务下部署单个 Web 作业,而不部署整个应用程序服务吗?

azure-devops - VSTS : Release Management Deploying Artifacts to IIS on Premise

azure - Visual Studio Team Services 发布失败 - 无关变量

tfs - 我们如何在 TFS 2013 Release Management 中删除一个版本?

powershell - Visual Studio 发布管理 - 使用 ps/dsc 部署遇到服务器证书错误

visual-studio - TFS 到发布管理 - 从构建发布

tfs - EF Code First 迁移以部署旧版本