繁体   English   中英

如何在 CICD 期间更新 ADF 管道级别参数

[英]How to update ADF Pipeline level parameters during CICD

作为 ADF CICD 的新手,我目前正在探索当我们将管道从一个环境部署到另一个环境时如何更新管道范围参数。 这是详细的场景-
我有一个简单的 ADF 管道,其中包含将文件从一个 blob 容器移动到另一个的复制活动
示例 - 下面是复制活动,管道有两个名为:
1- SourceBlobContainer
2- SinkBlobContainer
使用它们的默认值。

在此处输入图像描述

以下是配置数据集以使用这些管道范围参数的方式。

在此处输入图像描述

由于这是开发环境,因此可以使用默认值。 但是测试环境将存在具有完全不同名称的容器(如“TestSourceBlob”和“TestSinkBlob”)。
话虽如此,当 CICD 发生时,它应该通过 CICD 过程更新这些参数的默认值来处理这个问题。

阅读文档时,我找不到可以处理此类用例的地方。
这是我提到的一些链接-

与位于“ADF_Publish”分支中的 ARM 模板相反,还有另一种方法。 许多公司利用这种解决方法,并且效果很好。
我花了几天时间构建了一个全新的 PowerShell 模块,以从您的主分支或直接从您的本地计算机发布整个 Azure 数据工厂代码。 该模块解决了迄今为止任何其他解决方案中存在的所有问题,包括:

  • 替换 JSON 文件(ADF 对象)中的任何属性,
  • 以适当的顺序部署对象,
  • 对象的部署部分,
  • 删除源中不再存在的对象,
  • 停止/启动触发器等

该模块在 PS Gallery 中公开可用: azure.datafactory.tools
源代码和完整文档在GitHub中。
如果您有任何问题或疑虑,请告诉我。

有一种“新”方法可以为 ADF 执行 ci/cd,它应该可以处理这个确切的用例。 我通常做的是添加全局参数,然后在任何地方引用这些参数(在你的情况下从管道参数)。 然后在您的构建中,您可以使用所需的值覆盖全局参数。 以下是一些我用来使其工作的参考资料的链接。

“新” ci/cd 方法遵循此处概述的内容Azure 数据工厂 CI-CD 变得简单:使用 Azure DevOps YAML Pipelines 构建和部署 ARM 模板 如果你遵循了这个,这样的东西应该在你的 yaml 中工作:

overrideParameters: '-dataFactory_properties_globalParameters_environment_value "new value here"'

这是一篇更详细地介绍 overrideParameters 的文章: ADF 发布 - 在部署期间设置全局参数

以下是有关全局参数以及如何将它们暴露给 ci/cd 管道的参考: Azure 数据工厂中的全局参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM