因此,我正在尝试向模板部署中提交参数,不确定是什么问题,其他参数是否按预期工作只是新的不起作用,但是如果我将其设置为不带参数的布尔值,那么它将起作用
似乎没有发生som变量替换,我只是想不出为什么它一定很简单,但是我找不到它
usek8s
无效,来自变量标签的图像
azure-pipelines.yml中的片段无效时
- template: yml/pipeline-templates/deployment.yaml@parent
parameters:
usek8s: $(usek8s)
stageId: Deploy_Dev
vmImage: $(vmVersion)
environment: 'dev'
targetBranch: 'master'
namespace: $(k8sNamespace)
imagePullSecret: $(imagePullSecret)
containerRegistry: $(dockerRegistryServiceConnection)
tag: $(tag)
imageRepository: $(imageRepository)
kubernetesServiceConnection: $(k8sConnectionDev)
dependsOn: Build_Docker_Deventer
azure-pipelines.yml中的代码片段有效
- template: yml/pipeline-templates/deployment.yaml@parent
parameters:
usek8s: false
stageId: Deploy_Dev
vmImage: $(vmVersion)
environment: 'dev'
targetBranch: 'master'
namespace: $(k8sNamespace)
imagePullSecret: $(imagePullSecret)
containerRegistry: $(dockerRegistryServiceConnection)
tag: $(tag)
imageRepository: $(imageRepository)
kubernetesServiceConnection: $(k8sConnectionDev)
dependsOn: Build_Docker_Deventer
父模板的代码段
parameters:
- name: usek8s
displayName: 'Use k8s deploy process?'
type: boolean
default: false
- name: stageId
- name: vmImage
- name: targetBranch
- name: environment
- name: namespace
- name: imagePullSecret
- name: containerRegistry
- name: tag
- name: imageRepository
- name: kubernetesServiceConnection
- name: dependsOn
default: []
stages:
- stage: ${{ parameters.stageId }}
displayName: '${{ parameters.stageId }}'
dependsOn: ${{ parameters.dependsOn }}
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/${{ parameters.targetBranch }}'), eq(${{ parameters.usek8s }}, true))
jobs:
我得到的错误
答案 0 :(得分:1)
使用模板天蓝色管道时不会发生变量替换
这是一个已知问题,已报告给MS团队。您可以检查以下线程以获取一些详细信息:
Queue Time Variables Do Not Override Default Variable
那是因为我们不能使用队列变量来覆盖编译时间参数。
因此,MS团队最近推出了一项新功能Runtime parameters,可让您将数据注入到管道编译的预处理阶段:
参数: -名称:usek8s displayName:UseUsek8s? 类型:布尔值 默认值:False
当我们在管道中排队时,我们可以选择是否使用usek8s
:
希望这会有所帮助。