Azure DevOps IIS部署管道-变量值从哪里从模板中获取?

时间:2020-06-02 18:48:45

标签: azure-devops yaml azure-pipelines

我监督着一些团队,一个团队拥有一个利用YAML管道设置的Azure DevOps管道。不幸的是,由于Covid-19,我们不得不释放了很多员工,包括整个DevOps团队。这使我的团队不具备DevOps知识,也没有建立我们正在努力熟悉的已建立的YAML管道。

到目前为止,我们已经取得了进步,并且学到了很多东西。但是,在尝试对IIS网站部署任务进行故障排除时,我们在确定传递给每个阶段的某些参数的来源时遇到了一些麻烦。

例如,模板中的片段:

      - task: IISWebAppManagementOnMachineGroup@0
        displayName: 'Create Or Update IIS Website'
        inputs:
          EnableIIS: true
          WebsiteName: ${{ parameters.WebsiteName }}
          WebsitePhysicalPath: ${{ parameters.WebsitePhysicalPath }}
          AddBinding: ${{ parameters.AddWebsiteBinding }}
          **Bindings: ${{ parameters.WebsiteBindings }}**
          CreateOrUpdateAppPoolForWebsite: ${{ parameters.CreateOrUpdateAppPoolForWebsite }}
          AppPoolNameForWebsite: ${{ parameters.WebsiteName }}
          DotNetVersionForWebsite: ${{ parameters.DotNetVersionForWebsite }}
          PipeLineModeForWebsite: ${{ parameters.PipeLineModeForWebsite }}
          AppPoolIdentityForWebsite: ${{ parameters.AppPoolIdentityForWebsite }}
          AppPoolUsernameForWebsite: ${{ parameters.AppPoolUsernameForWebsite }}

“ WebsiteBindings”是我们感兴趣的...,我可以回到使用模板的位置,然后看到:

WebsiteBindings:'$(DevOps:IISWebsiteBindings)'

问题是-我想看看这里传递的是什么,我似乎无法弄清楚上述值的来源。我相信答案很简单,但是我们当中没有一个人拥有任何Azzure DevOps经验,而且我们对这个简单的问题有些困惑。上面的语法中有什么可以让我了解这些值的位置吗?

管道中的其他区域正在引用Azure AppConfig键/值存储以进行配置转换,并且设置了一些管道变量,但没有一个与我要查找的任何值对齐。

有人可以在这里提供任何见解吗?先感谢您。

1 个答案:

答案 0 :(得分:0)

问题是-我想看看这里传递了什么,但我无法 似乎能找出上述值的来源。

您可以添加一个powershell任务,并通过Write-Host输出这些变量,以查看此处传递的内容。例如:Write-Host "$(parameters.WebsiteBindings)"

根据${{ parameters.WebsiteBindings }}的语法,我推测此变量来自模板参数。

在管道中,template expression变量(${{ variables.var }})在运行时开始之前的编译时进行处理。您可以使用模板表达式语法来扩展template parameters和变量。模板表达式旨在将YAML的一部分作为模板重用。