我想创建一个在不同服务器上备份数据库的管道(每个服务器是不同的国家/地区)。 我认为每个国家/地区的阶段/步骤/作业必须通过动态引用的 Agent.Name 进行计算,该名称将根据国家/地区在不同的服务器上运行。
其他国家相关变量也必须在
${{parameters.country}}_variables.yml
这样的模板中定义。
另一件事是管道必须进行 cron 调度,因此它必须针对所有国家/地区迭代运行,这意味着它必须获取 ${{parameters.country}}_variables.yml
文件,使用正确的 Agent.Name 上定义的变量运行备份任务然后为下一个国家重复整个过程。
我有点迷失了。任何帮助将不胜感激
我已经尝试了不同的方法,但从未成功地动态调用模板
${{parameters.country}}_variables.yml
另外,我似乎无法设法为每个国家/地区迭代运行备份作业
您可以如下设置您的管道链接。
parameters:
- name: country
type: object
default:
- country_1
- country_2
. . .
- country_N
stages:
- ${{ each country in parameters.country }}:
- stage: DB_${{ country }}
displayName: 'Stage: DB for ${{ country }}'
variables:
- template: ${{ country }}_variables.yml
jobs:
# Jobs and steps to backup DB.
- job: backupDB
displayName: 'Job: Backup DB for ${{ country }}'
通过此配置,当运行此 YAML 管道时,它将自动为
parameters.country
的每个值生成同一阶段的副本。每个复制的阶段将使用关联的单个值。