Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能告诉我为什么Azure管道不喜欢这个yaml文件吗? -- 变量: azureSubscription:“Visual Studio专业版订阅(237bc9da-22ad-49ea-8411-6cf6a190c18f)” RG:云中的教室 工作: -职位:1 步骤: -任务:AzureCLI@1 dislayName:'Azure CLI' 投入: azureSubscription:$(azureSubscription) scriptLocation:inlineScript inlineScript:| mkdir$(Pipeline.Workspace)\BlobFile az存储blob下载--容器名称$(containername)--文件“$(Pipeline.Workspace)/s/student.json”--名称“student.json”--连接字符串“此处的值” -pwsh:| cd'/home/vsts/work/1/s/' ls $armOutput=Get Content'/home/vsts/work/1/s/student.json'|从json转换 $studentvalue=$armOutput.studentvalue $type=$armOutput.type 写入主机“[$studentvalue]的值为[$type]” 写入输出“##vso[task.setvariable variable=$studentvalue;]$type” 写入输出“##vso[task.setvariable variable=$studentvalue;isOutput=true]$studentvalue” 写入输出“studentvalue的值为[$studentvalue]” 名称:setvarStep -文字:| echo$(studentvalue) -职位:2 displayName:创建Web应用程序 德彭森:1 变量: webappname:$[studentvalue] 步骤: -任务:AzureWebApp@1 投入: azureSubscription:$(azureSubscription) resourceGroupName:$(RG) appName:$(webappname) 包:$(System.DefaultWorkingDirectory)**/*.csproj -任务:AzureAppServiceSettings@1 displayName:Azure应用程序服务设置 投入: azureSubscription:$(azureSubscription) appName:$(webappname) #要在插槽上部署设置,请提供插槽名称,如下所示。默认情况下,这些设置将应用于实际的Web应用程序(生产槽) #slotName:暂存 应用程序设置:| [ { “名称”:“DIAGNOSTICS_AzureBlobContainers ASURL”, “value”:“VALUEINHERE”, “开槽”:错误 }, { “名称”:“DIAGNOSTICS_AzureBlobRetentioningDays”, “值”:“365”, “开槽”:错误 }, { “名称”:“OEM”, “值”:“netsupport”, “开槽”:错误 }, { “名称”:“SCM\U存储库\U路径”, “值”:“d:\\home\\respository”, “开槽”:错误 }, { “名称”:“视频客户端URL”, “值”:https://signal-uks.classroom.cloud", “开槽”:错误 }, { “名称”:“网站\节点\默认\版本”, “价值”:“10.15.2”, “开槽”:错误 } ]_Azure_Azure Devops - Fatal编程技术网

有人能告诉我为什么Azure管道不喜欢这个yaml文件吗? -- 变量: azureSubscription:“Visual Studio专业版订阅(237bc9da-22ad-49ea-8411-6cf6a190c18f)” RG:云中的教室 工作: -职位:1 步骤: -任务:AzureCLI@1 dislayName:'Azure CLI' 投入: azureSubscription:$(azureSubscription) scriptLocation:inlineScript inlineScript:| mkdir$(Pipeline.Workspace)\BlobFile az存储blob下载--容器名称$(containername)--文件“$(Pipeline.Workspace)/s/student.json”--名称“student.json”--连接字符串“此处的值” -pwsh:| cd'/home/vsts/work/1/s/' ls $armOutput=Get Content'/home/vsts/work/1/s/student.json'|从json转换 $studentvalue=$armOutput.studentvalue $type=$armOutput.type 写入主机“[$studentvalue]的值为[$type]” 写入输出“##vso[task.setvariable variable=$studentvalue;]$type” 写入输出“##vso[task.setvariable variable=$studentvalue;isOutput=true]$studentvalue” 写入输出“studentvalue的值为[$studentvalue]” 名称:setvarStep -文字:| echo$(studentvalue) -职位:2 displayName:创建Web应用程序 德彭森:1 变量: webappname:$[studentvalue] 步骤: -任务:AzureWebApp@1 投入: azureSubscription:$(azureSubscription) resourceGroupName:$(RG) appName:$(webappname) 包:$(System.DefaultWorkingDirectory)**/*.csproj -任务:AzureAppServiceSettings@1 displayName:Azure应用程序服务设置 投入: azureSubscription:$(azureSubscription) appName:$(webappname) #要在插槽上部署设置,请提供插槽名称,如下所示。默认情况下,这些设置将应用于实际的Web应用程序(生产槽) #slotName:暂存 应用程序设置:| [ { “名称”:“DIAGNOSTICS_AzureBlobContainers ASURL”, “value”:“VALUEINHERE”, “开槽”:错误 }, { “名称”:“DIAGNOSTICS_AzureBlobRetentioningDays”, “值”:“365”, “开槽”:错误 }, { “名称”:“OEM”, “值”:“netsupport”, “开槽”:错误 }, { “名称”:“SCM\U存储库\U路径”, “值”:“d:\\home\\respository”, “开槽”:错误 }, { “名称”:“视频客户端URL”, “值”:https://signal-uks.classroom.cloud", “开槽”:错误 }, { “名称”:“网站\节点\默认\版本”, “价值”:“10.15.2”, “开槽”:错误 } ]

有人能告诉我为什么Azure管道不喜欢这个yaml文件吗? -- 变量: azureSubscription:“Visual Studio专业版订阅(237bc9da-22ad-49ea-8411-6cf6a190c18f)” RG:云中的教室 工作: -职位:1 步骤: -任务:AzureCLI@1 dislayName:'Azure CLI' 投入: azureSubscription:$(azureSubscription) scriptLocation:inlineScript inlineScript:| mkdir$(Pipeline.Workspace)\BlobFile az存储blob下载--容器名称$(containername)--文件“$(Pipeline.Workspace)/s/student.json”--名称“student.json”--连接字符串“此处的值” -pwsh:| cd'/home/vsts/work/1/s/' ls $armOutput=Get Content'/home/vsts/work/1/s/student.json'|从json转换 $studentvalue=$armOutput.studentvalue $type=$armOutput.type 写入主机“[$studentvalue]的值为[$type]” 写入输出“##vso[task.setvariable variable=$studentvalue;]$type” 写入输出“##vso[task.setvariable variable=$studentvalue;isOutput=true]$studentvalue” 写入输出“studentvalue的值为[$studentvalue]” 名称:setvarStep -文字:| echo$(studentvalue) -职位:2 displayName:创建Web应用程序 德彭森:1 变量: webappname:$[studentvalue] 步骤: -任务:AzureWebApp@1 投入: azureSubscription:$(azureSubscription) resourceGroupName:$(RG) appName:$(webappname) 包:$(System.DefaultWorkingDirectory)**/*.csproj -任务:AzureAppServiceSettings@1 displayName:Azure应用程序服务设置 投入: azureSubscription:$(azureSubscription) appName:$(webappname) #要在插槽上部署设置,请提供插槽名称,如下所示。默认情况下,这些设置将应用于实际的Web应用程序(生产槽) #slotName:暂存 应用程序设置:| [ { “名称”:“DIAGNOSTICS_AzureBlobContainers ASURL”, “value”:“VALUEINHERE”, “开槽”:错误 }, { “名称”:“DIAGNOSTICS_AzureBlobRetentioningDays”, “值”:“365”, “开槽”:错误 }, { “名称”:“OEM”, “值”:“netsupport”, “开槽”:错误 }, { “名称”:“SCM\U存储库\U路径”, “值”:“d:\\home\\respository”, “开槽”:错误 }, { “名称”:“视频客户端URL”, “值”:https://signal-uks.classroom.cloud", “开槽”:错误 }, { “名称”:“网站\节点\默认\版本”, “价值”:“10.15.2”, “开槽”:错误 } ],azure,azure-devops,Azure,Azure Devops,有人能告诉我为什么在将此YAML文件放入管道时会出现以下错误吗 Line 14, Col 7: Unexpected Value Display Name Line 45, Col 6: A sequence was not expected 第二个错误是因为第40行的步骤处于webappname级别,而它应该处于变量级别。通常,您不应该使用单空格缩进来避免此类错误 我不确定第一个错误,但尝试在第10行写入displayName而不是dislayName。请首先查看此文档:下面是设置多作业输出

有人能告诉我为什么在将此YAML文件放入管道时会出现以下错误吗

Line 14, Col 7: Unexpected Value Display Name
Line 45, Col 6: A sequence was not expected

第二个错误是因为第40行的
步骤
处于
webappname
级别,而它应该处于
变量
级别。通常,您不应该使用单空格缩进来避免此类错误


我不确定第一个错误,但尝试在第10行写入
displayName
而不是
dislayName

请首先查看此文档:下面是设置多作业输出变量的示例yaml

jobs:
# Set an output variable from job A
- job: A
  pool:
    vmImage: 'vs2017-win2016'
  steps:
  - powershell: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the value"
    name: setvarStep
  - script: echo $(setvarStep.myOutputVar)
    name: echovar

# Map the variable into job B
- job: B
  dependsOn: A
  pool:
    vmImage: 'ubuntu-18.04'
  variables:
    myVarFromJobA: $[ dependencies.A.outputs['setvarStep.myOutputVar'] ]  # map in the variable
                                                                          # remember, expressions require single quotes
  steps:
  - script: echo $(myVarFromJobA)
    name: echovar
因此,下面的yaml片段应该是供您参考的正确语法

pool:
  vmImage: windows-latest

variables: 
  azureSubscription: 'subscription here'
  RG: 'WClassroomInTheCloud'

jobs:
- job: job1   
  steps:
  - task: AzureCLI@1
    displayName: 'Azure CLI '
    inputs:
      azureSubscription: $(azureSubscription)
      scriptLocation: inlineScript
      inlineScript: |
        mkdir $(Pipeline.Workspace)\BlobFile
        az storage blob download --container-name $(containername) --file '$(Pipeline.Workspace)/s/student.json' --name 'student.json' --connection-string 'VALUE IN HERE'

  - pwsh: |
      cd '/home/vsts/work/1/s/'
      ls
      $armOutput = Get-Content '/home/vsts/work/1/s/student.json' | convertfrom-json
      $student = $armOutput.studentvalue #use student not studentvalue
      $type = $armOutput.type
      Write-Host "The value of [$student] is [$type]"
      Write-Host "##vso[task.setvariable variable=studentvalue;isOutput=true]$student" #use studentvalue not $studentvalue
    name: setvarStep

  - script: echo $(setvarStep.studentvalue)
    name: echovar

- job: job2
  displayName: Create Web App 
  dependsOn: job1
  variables:
    webappname: $[ dependencies.job1.outputs['setvarStep.studentvalue'] ]

  steps: 
  
  - task: AzureWebApp@1
    inputs:
      azureSubscription: $(azureSubscription)
      appType: 'webApp'
      resourceGroupName: $(RG)
      appName: $(webappname)
      package: $(System.DefaultWorkingDirectory)**/*.csproj

  - task: AzureAppServiceSettings@1
    inputs:
      azureSubscription: $(azureSubscription)
      appName: $(webappname)
      resourceGroupName: $(RG)
      # To deploy the settings on a slot, provide slot name as below. By default, the settings would be applied to the actual Web App (Production slot)
      # slotName: staging
      appSettings: |
        {
          "name": "DIAGNOSTICS_AZUREBLOBCONTAINERSASURL",
          "value": "VALUEINHERE",
          "slotSetting": false
        },
        {
          "name": "DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS",
          "value": "365",
          "slotSetting": false
        },
        {
          "name": "OEM",
          "value": "netsupport",
          "slotSetting": false
        },
        {
          "name": "SCM_REPOSITORY_PATH",
          "value": "d:\\home\\respository",
          "slotSetting": false
        },
        {
          "name": "VIDEO_CLIENT_URL",
          "value": "https://signal-uks.classroom.cloud",
          "slotSetting": false
        },
        {
          "name": "WEBSITE_NODE_DEFAULT_VERSION",
          "value": "10.15.2",
          "slotSetting": false
        }

我可能会先修改你的压痕。然后,由于您正在显示YAML的一个片段,我将突出显示它所抱怨的特定行,因为在您的示例中没有行号。谢谢您,我现在可以看到哪里出了问题,我只是无法理解如何传递变量定义,这对我来说现在是有意义的。我确实读过这两篇文章以及更多的文章,但现在我看到你的文章,一个重大的啊哈时刻已经发生了,所以谢谢你。