我监督着一些团队,一个团队拥有一个利用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键/值存储以进行配置转换,并且设置了一些管道变量,但没有一个与我要查找的任何值对齐。
有人可以在这里提供任何见解吗?先感谢您。
答案 0 :(得分:0)
问题是-我想看看这里传递了什么,但我无法 似乎能找出上述值的来源。
您可以添加一个powershell任务,并通过Write-Host
输出这些变量,以查看此处传递的内容。例如:Write-Host "$(parameters.WebsiteBindings)"
根据${{ parameters.WebsiteBindings }}
的语法,我推测此变量来自模板参数。
在管道中,template expression变量(${{ variables.var }}
)在运行时开始之前的编译时进行处理。您可以使用模板表达式语法来扩展template parameters和变量。模板表达式旨在将YAML的一部分作为模板重用。