linux - 使用 VSO RM 通过 PS/DSC 部署到 Azure Linux

标签 linux azure-devops ms-release-management winrm dsc

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

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

最佳答案

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 发布模板配合良好。

关于linux - 使用 VSO RM 通过 PS/DSC 部署到 Azure Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30939548/

相关文章:

linux - 使用 shell 脚本反转旧补丁后应用新补丁

linux - 更改脚本重命名从生成 A0 A1 A2 A3 到 A001 A002 A003

html - sed 从 html 文件中删除标签

azure - 如何在发布管道中使用输出变量

azure-devops - AzureDevops 管道使用 terraform 和 local-exec az 命令因服务主体失败

azure-devops - 在Visual Studio Team Services中设置当前的Sprint或关闭现有的Sprint(是TFS在线)

ms-release-management - 释放操作停留在 "Pending"状态数小时

c - 读取 ELF 文件的程序头内容

asp.net - 如何使用 VSTS 发布管理部署到 Azure 资源组

asp.net-mvc - 随 Visual Studio Team Services 一起发布的 Entity Framework 迁移