多国家数据库备份 - Azure YAML Pipeline

问题描述 投票:0回答:1

我想创建一个在不同服务器上备份数据库的管道(每个服务器是不同的国家/地区)。 我认为每个国家/地区的阶段/步骤/作业必须通过动态引用的 Agent.Name 进行计算,该名称将根据国家/地区在不同的服务器上运行。

其他国家相关变量也必须在

${{parameters.country}}_variables.yml
这样的模板中定义。 另一件事是管道必须进行 cron 调度,因此它必须针对所有国家/地区迭代运行,这意味着它必须获取
${{parameters.country}}_variables.yml
文件,使用正确的 Agent.Name 上定义的变量运行备份任务然后为下一个国家重复整个过程。 我有点迷失了。任何帮助将不胜感激

我已经尝试了不同的方法,但从未成功地动态调用模板

${{parameters.country}}_variables.yml
另外,我似乎无法设法为每个国家/地区迭代运行备份作业

azure azure-devops cicd database-backups azure-pipelines-yaml
1个回答
0
投票

您可以如下设置您的管道链接。

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
的每个值生成同一阶段的副本。每个复制的阶段将使用关联的单个值。

© www.soinside.com 2019 - 2024. All rights reserved.