2

我已经在 Azure 中使用 OMI/PSDCS 设置了一个 Linux Srv,并尝试使用 VSO 发布管理进行部署。我已经创建了一个 Azure 环境(我不会允许 mw 创建标准环境)并解决了到目前为止的所有证书问题。现在它失败了,因为 RM 尝试使用 Negotiate Auth 连接到 linux 服务器,并且(当然)OMI 服务只支持 Basic。

如何让 RM 使用 Basic?或者 OMI 支持 Negotiate/NTLM?是否有任何帖子或文档显示任何工作的 VSO RM 在不使用 Chef 的情况下部署到 Azure?

4

1 回答 1

2

RM 附带的“运行 PS/DSC 任务”不支持 Linux 部署。当前的实现完全依赖于 Windows 作为目标。但是,我可以建议几个解决方法吗?

对于这两种解决方法,您首先应该有一个 PS 脚本(带有 DSC 配置和 Start-DSCConfiguration),您可以从 Windows 机器运行该脚本以针对您的 Linux 机器,而无需使用 RM 或 Build。您可以完全控制如何编写此脚本,包括如何创建凭据以及身份验证方法。

拥有独立测试的 PS 脚本后,您可以执行以下操作之一:

  1. 在您的 visualstudio.com 帐户构建中心中创建构建定义,并使用 Powershell 构建步骤运行上述脚本。请注意,这是 VSO 中的新构建系统。它能够轻松运行 PS 脚本。请注意,您在这里创建的是构建定义,而不是 RM 中的发布模板。将于今年晚些时候在 VSO 中提供的新发布中心将与构建中心非常相似,一旦可用,您就可以在发布定义中利用相同的 PS 脚本。我尝试了这种方法,它似乎工作正常。

  2. 在 RM 中将 Windows 机器设置为目标 Azure 环境。创建一个 vNext 发布模板,然后在 Windows 机器上运行上述 PS 脚本。当该脚本运行时,它将能够以 Linux 服务器为目标。在这种方法中,您使用 Windows 计算机作为代理来运行 PS 脚本。我已经尝试过使用基于代理的发布模板,而不是使用 vNext 发布模板。我希望它也能与 vNext 发布模板一起正常工作。

于 2015-06-21T16:53:47.097 回答