有时我认为我是唯一一个尝试使用此配置的人......
使用Visual Studio Online作为我的构建控制器,使用RM Update 4作为我的发布管理器。
此时构建本身工作正常,我正在努力编写一个部署脚本,RM将在构建完成后启动。
我可以启动脚本,但是我对实际脚本中的内容有疑问。对于初学者来说,脚本只是尝试在Azure VM上创建一个目录,然后再转向更实用的软件,比如实际移动软件。
起初我试过
Enter-PSSession -ComputerName fecprocessing.cloudapp.net –UseSSL
Invoke-Command fecprocessing.cloudapp.net {mkdir C:\data\}
那让我了
连接到远程服务器thatserver.cloudapp.net失败了 以下错误消息:目标上的服务器证书 computer(thatserver.cloudapp.net:5986)有以下错误:
SSL证书由未知的证书颁发机构签名。
经过一些研究后我尝试了这个
$so = New-PSSessionOption-SkipCACheck:$true-SkipCNCheck:$true-SkipRevocationCheck:$true
Enter-PSSession-ComputerName thatserver.cloudapp.net-UseSSL-SessionOption$so
Invoke-Command thatserver.cloudapp.net {mkdirC:\data\}
这是可怕的
连接到远程服务器thatserver.cloudapp.net失败了 以下错误消息:WinRM客户端无法处理该请求。 如果身份验证方案与Kerberos不同,或者如果 客户端计算机未加入域,然后HTTPS传输必须 使用或必须将目标计算机添加到TrustedHosts 配置设置。使用winrm.cmd配置TrustedHosts。注意 TrustedHosts列表中的计算机可能未经过身份验证。 您可以通过运行以下命令获得有关该信息的更多信息 命令:winrm help config。有关更多信息,请参阅 about_Remote_Troubleshooting帮助主题。< ---
现在我已经做了很多阅读,似乎有两条基本路径。
将构建计算机添加到trustedhosts列表 - 这是不行的,因为构建服务器计算机名称将改变VSO旋转一个进行构建的所有时间(对吗?)。这也是不安全的,因为服务器无法告诉它是超出机器名称的正确服务器远程
在远程计算机上添加证书。但由于第一段代码似乎表明有证书我怀疑这会有所作为。
那里有没有人真正使用过这种配置(VSO / RM / AZURE VM),可以给我一些关于我接下来应该尝试的指导。
答案 0 :(得分:1)
你以错误的方式解决这个问题。通过vNext发布模板执行PowerShell脚本时,它会在目标计算机上执行 。您不需要使用Enter-PSSession
或担心凭据 - 您可以在"执行PS / DSC脚本"中输入所有信息。动作。
此外,您的#1解决方案与您遇到的问题无关:在构建完成后发布。当您遇到此错误时,构建服务器不再参与。
答案 1 :(得分:0)
您应该使用Azure的vNext模板。它们内置了身份验证,您可以将Azure帐户与RM相关联,以使事情更轻松。
http://nakedalm.com/create-release-management-pipeline-professional-developers/
您也可以在VSO中使用内置的RM服务器,这样您就不必自己动手了。
注意:您还必须将其中一个选项从true翻转为false。无法记住属性的名称,但只有几个选项以及环境,组件和PS脚本......您需要向下滚动,这与身份验证有关。