首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用动态变量组的动态模板在下载安全文件时引起问题

使用动态变量组的动态模板在下载安全文件时引起问题
EN

Stack Overflow用户
提问于 2021-04-20 16:50:36
回答 1查看 306关注 0票数 0

我有一个CI/CD多级模板,其中我的CD阶段依赖于我在yaml文件中提供的参数

管道指向pipeline.yml

代码语言:javascript
运行
复制
 servers:
  DEV:
  - srv-apimgmt37p

在我的模板中,我有一个检查服务器并传递值的循环,这样它就可以根据上述参数动态地生成我的CI/CD管道。在我的CD阶段,我传递了以下变量组:

代码语言:javascript
运行
复制
variables:
  - group: ${{ variables['Build.DefinitionName'] }}_MS_${{env.key}}
  - group: DevSecOps_${{ variables['Build.DefinitionName'] }}_MS_${{env.key}}

在其中一个组中,我有一个变量,它是存储在安全文件中的文件名。回到我的CD模板,我有一个下载安全文件任务,它将使用名为$(test)的组中变量的名称下载安全文件。

代码语言:javascript
运行
复制
- task: DownloadSecureFile@1
  displayName: 'Download kafka keytab'
  condition: "eq(ne(variables['test'], ''), true)"
  inputs:
    secureFile: "$(test)"
    retryCount: 5

问题是,当管道开始运行时,它首先尝试下载安全文件,但是它找不到它,因为它还不知道$(test)的值。在这种情况下,作为最佳实践,我应该做些什么?我有点纠结于什么是好的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-29 15:02:22

我决定在驻留在回购文件中的yaml文件中输入一个参数。因此,在我的模板中,我使用了如下的任务

代码语言:javascript
运行
复制
- ${{ if parameters.keytab[env.key] }}:
   - task: DownloadSecureFile@1
     name: kafkakeytab
     displayName: 'Download kafka keytab'
     inputs:
        secureFile: ${{parameters.keytab[env.key]}}
        retryCount: 5

在我的YAML文件中,我只引用这样一个参数:

代码语言:javascript
运行
复制
keytab:
  DEV: bobbobob.keytab
  UAT: blablauat.keytab

这意味着如果我不传递这个参数,管道将不包括管道中的任务,这正是我想要的。这样,我就不必创建自己的Powershell任务来实现这个目标了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67183147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档