gpt4 book ai didi

Azure Pipelines YAML - 对 "Deploy Web App"azureSubscription 输入使用变量组时出错

转载 作者:行者123 更新时间:2023-12-03 20:56:15 24 4
gpt4 key购买 nike

我使用变量 board.subscription 为各种环境定义了变量组,该变量指定要在 WebApp 部署中使用的 Azure 服务连接。

部署作业引用这些变量组:

name: $(Date:yyyyMMdd)-$(Rev:r)

trigger:
- master
- dev
- feature/*
- bug/*

stages:
- stage: build
...
- stage: deploy_test
displayName: deploy to TEST
dependsOn: build
variables:
- group: 'Test-Deployment'
jobs:
- template: azure-pipelines/deploy.yml
parameters:
environment: TEST

- stage: deploy_prod
displayName: deploy to PROD
dependsOn: deploy_test
variables:
- group: 'Production-Deployment'
jobs:
- template: azure-pipelines/deploy.yml
parameters:
environment: PROD

然后在 deploy.yml 文件中使用该变量:

parameters:
environment: ''
agentImage: 'ubuntu-latest'

jobs:
- deployment: ${{ parameters.environment }}
displayName: deploy to ${{ parameters.environment }}
environment: ${{ parameters.environment }}
pool:
vmImage: ${{ parameters.agentImage }}
strategy:
runOnce:
deploy:
steps:
- download: current
artifact: drop
- task: AzureWebApp@1
inputs:
azureSubscription: '$(board.subscription)'
appName: '$(board.functionapp)'

但是,在对管道进行排队时,表达式似乎在填充变量之前进行计算,这会导致此错误:

There was a resource authorization issue: "The pipeline is not valid. Job TEST: Step input azureSubscription references service connection $(board.subscription) which could not be found.

当我使用 azureSubscription 的文字值时,它工作正常。

问题:此评估是否可以延迟,或者是否有其他方法可以不在 YAML 文件中硬编码服务连接名称?

最佳答案

我用变量组进行了测试,并得到了与您相同的错误:

enter image description here

如果订阅仅定义为 yaml 中的变量,然后在 AzureWebApp 任务中引用,则管道不会收到此错误。

variables:
azureSubscription: connectionName
# -group : test1

stages:
...
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy: 1123'
inputs:
azureSubscription: '$(azureSubscription)'
appType: webApp
appName: xxx

关于Azure Pipelines YAML - 对 "Deploy Web App"azureSubscription 输入使用变量组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60917078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com