【发布时间】:2020-12-16 14:47:36
【问题描述】:
我正在尝试将发布管道转换为多阶段 YAML 管道,但我遇到了 AzureFileCopy@4 任务的问题。当我在发布管道中运行任务时,任务成功并且文件被复制到远程 VM。当我在多阶段 YAML 管道中运行任务时,任务失败。具体来说,任务中的以下命令失败:
New-PSSession -ComputerName 'vmname.eastus.cloudapp.azure.com' -Port 5986 -Authentication Default -Name '68fe512f-477d-4d56-9217-5ab84517a53b' -Credential $credential -UseSSL -ErrorAction 'SilentlyContinue' -ErrorVariable sessionErrors -ConfigurationName 'microsoft.powershell'
生成的错误信息是:
Connecting to remote server vmname.eastus.cloudapp.azure.com failed with the following error message : Access is denied.
我不怀疑 WinRM 配置有问题,因为我在发布管道中连接得很好。鉴于错误和命令,我会说这是凭据,但我一遍又一遍地查看它们,它们完全相同。
NSG 上的入站规则将 WinRM 端口 5986 对任何源开放,因此似乎没有限制哪些机器可以启动新的 pssession。
更新 12/22/20
下面是失败的阶段的净化版本。文件副本主要在我的 build 阶段有效,但在它是使用 deploy 作业的部署阶段的一部分时无效
- stage: deploy
jobs:
- deployment: DeployR50
displayName: Deploy R50 App
pool:
vmImage: 'windows-latest'
environment:
name: 'QA'
resourceName: 'Test'
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- task: AzureFileCopy@4
inputs:
SourcePath: '$(Pipeline.Workspace)\R50\*'
azureSubscription: 'Joe MSDN Azure'
Destination: 'AzureVMs'
storage: 'mytest'
resourceGroup: 'TEST'
MachineNames: 'Test'
vmsAdminUserName: '***'
vmsAdminPassword: $(VM_PASSWORD)
TargetPath: 'c:\R50'
【问题讨论】:
-
您可以参考答案中的步骤检查您的yaml文件。如果没有用,请分享您导出的yaml代码sn -p。 补充信息:在发布管道中,现在好像无法导出yaml文件。你可以参考这张票:developercommunity.visualstudio.com/content/problem/1278001/…你能分享一下你是怎么导出的吗?谢谢
-
嗨@Joe Brinkman。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。
-
我今天早上刚看到你的 cmets,所以我正在努力并尝试再次从头开始重建 YAML 的部署部分。
标签: azure-devops winrm azure-yaml-pipelines