【问题标题】:Will ADF deployment using azure devops affect existing Pipelines/Jobs in the environment使用 azure devops 部署 ADF 是否会影响环境中的现有管道/作业
【发布时间】:2020-10-26 03:55:30
【问题描述】:

我正在 Azure 数据工厂中实施 azure devOps。

我的开发环境 ADF 已集成到 git 存储库中。

我创建了一个构建管道,用于在 adf_publish 分支发生变化时构建工件。

我的下一步是将 ARM 模板工件部署到 PROD 环境。

假设在将 DEV 更改部署到 PROD 时,PROD 环境中有许多触发的管道,而 PROD 环境中运行的管道很少。

我的问题是:

  1. 如何将更改从 DevOps 部署到 PROD 环境?它会删除并替换 DevOps 中的所有管道和触发器,还是只选择更改并更新 PROD 环境而不触及未更改的管道?
  2. 假设部署时在 PROD 环境中运行管道,该管道运行会发生什么情况?
  3. 假设在 3:00 有一个触发管道,部署在 2:55 开始,在 3:05 结束。应该在 3:00 运行的触发管道会发生什么?

任何人对上述问题有明确的想法或是否有任何文件可供参考以获得这些问题的答案?

我在部署ARM模板的时候经历过Keeping deployment mode as Incremental instead of keeping it as Complete。该选项会完成我上面要求的所有任务吗?

【问题讨论】:

    标签: azure azure-devops azure-data-factory azure-data-factory-2 azure-data-factory-pipeline


    【解决方案1】:

    如何将更改从 DevOps 部署到 PROD 环境?它会删除并替换 DevOps 中的所有管道和触发器,还是只选择更改并更新 PROD 环境而不触及未更改的管道?

    这取决于您选择的部署模式。

    • 部署模式:这指定必须部署模板中指定的 Azure 资源的部署模式。
      增量模式将部署处理为增量更新
      资源组。
      它保留了
      中存在的资源不变 资源组,但未在模板中指定。 完整模式
      删除模板中没有的资源。
      验证模式
      使您能够发现模板之前的语法问题
      创造实际资源。默认使用增量模式。

    假设在部署时管道正在 PROD 环境中运行, 该管道运行会发生什么?

    您的部署将失败,并且您可能会收到 409 冲突错误消息。你可以查看文档Best practices for CI/CD

    部署前和部署后脚本。在资源管理器之前 CI / CD中的部署步骤,您需要完成某些任务,例如 停止和重新启动触发器并执行清理。我们推荐 在部署任务之前和之后使用 PowerShell 脚本。 有关详细信息,请参阅更新活动触发器。数据工厂 团队在此页面底部提供了一个可供使用的脚本。

    假设在 3:00 点有一个触发的管道和部署 2:55 开始,3:05 结束。触发后会发生什么 应该在 3:00 运行的管道?

    与您的第二个问题类似,管道不应被触发(或处于挂起状态),但我仍然没有实例来测试这种情况。

    【讨论】:

    • 非常感谢您的详细描述。
    • 如果我们使用 ARM 部署的完整 方法,则可能有机会删除并重新创建您选择的订阅下的所有资源。请通过下面的一个。 [stackoverflow.com/questions/64642289/…
    猜你喜欢
    • 2021-02-27
    • 2021-04-14
    • 2020-11-23
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 2020-10-22
    • 1970-01-01
    相关资源
    最近更新 更多