我们正在使用VSTS将数十个虚拟机部署到Azure中。我们现在需要在特定的VM上执行一些脚本。不幸的是,我们不能让虚拟机拥有公共IP。是否可以在没有公共IP的目标计算机上使用需要WinRM和PowerShell的VSTS任务?如果没有,那将是我们最好的选择吗?
答案 0 :(得分:1)
是否可以使用需要WinRM和PowerShell的VSTS任务 没有公共IP的目标机器?
除了您创建VPN隧道之外,这是不可能的。但这不是必要且昂贵的。
对于您的方案,您可以使用Azure VM Custom Script Extension。
自定义脚本扩展在Azure上下载并执行脚本 虚拟机。此扩展对于部署后非常有用 配置,软件安装或任何其他配置/ 管理任务。可以从Azure存储或下载脚本 GitHub,或在扩展运行时提供给Azure门户。
如果你使用它,你就不需要winrm你的虚拟机。
Set-AzureRmVMCustomScriptExtension
命令可用于将自定义脚本扩展添加到现有虚拟机。例如:
Set-AzureRmVMCustomScriptExtension -ResourceGroupName myResourceGroup `
-VMName myVM `
-Location myLocation `
-FileUri myURL `
-Run 'myScript.ps1' `
-Name DemoScriptExtension
注意:您可以将脚本保存在GitHub和Azure存储帐户上。
答案 1 :(得分:0)
您需要配置Azure网络,以便您的构建基础架构可以路由到这些服务器的专用IP地址。如果您的构建服务器也在Azure中,那么只需要确保它们全部使用相同的Azure虚拟网络。如果没有,您需要设置Azure VPN网关。
具体配置太深,变化太大,无法进入此处。