使用azure devop的ADF部署是否会影响环境中现有的管道/作业 [英] Will ADF deployment using azure devops affect existing Pipelines/Jobs in the environment

本文介绍了使用azure devop的ADF部署是否会影响环境中现有的管道/作业的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在Azure数据工厂中实现AzureureOps.

I am implementing azure devOps in Azure Data Factory.

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

My development environment ADF is integrated to a git repository.

我创建了一个构建管道,用于在adf_publish分支发生更改时构建构件.

I have created a build pipeline for building artifacts when there is a change in adf_publish branch.

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

My next step is to deploy the ARM template artifact to the PROD environment.

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

Suppose there are many triggered pipelines in the PROD environment and few pipelines were running in the PROD env at the time when the DEV changes are getting deployed to PROD.

我的问题是:

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

有人对上述问题有清晰的认识吗?还是有任何参考文献来获取这些问题的答案?

Any one having a clear idea about above questions or Is there any documentation for reference to obtain answers for these questions?

在ARM模板部署时,我已经将保持为增量部署模式,而不是保持为完整" .该选项可以完成我上面要求的所有任务吗?

I have gone through Keeping deployment mode as Incremental instead of keeping it as Complete at the time of ARM template deployment. Will that option do all the tasks which I asked above?

推荐答案

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

How the changes are deployed from DevOps to PROD environment? Will it delete and replace all the pipelines and triggers from DevOps or It will pick only the changes and update the PROD env without touching the unchanged pipelines?

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

It depends on the deployment mode you choose.

  • 部署模式:这指定了必须部署模板中指定的Azure资源的部署模式.
    增量模式将部署作为对
    的增量更新进行处理资源组.
    ,它保留了
    中存在的不变资源资源组,但未在模板中指定.完全模式
    删除模板中没有的资源.
    验证模式
    使您能够在使用模板之前找到语法问题
    创建实际资源.默认情况下,使用增量模式.

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

Suppose a pipeline is running in PROD env at the time of deployment, what will happen to that pipeline run?

您的部署将失败,并且您可能会收到409冲突错误消息.您可以检查文档 CI/CD的最佳做法:

Your deployment will fail, and you may receive a 409 conflict error message. You could check the document Best practices for CI/CD:

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

Pre- and post-deployment script. Before the Resource Manager deployment step in CI/CD, you need to complete certain tasks, like stopping and restarting triggers and performing cleanup. We recommend that you use PowerShell scripts before and after the deployment task. For more information, see Update active triggers. The data factory team has provided a script to use located at the bottom of this page.

假设在3:00 O钟有一个触发的管道并进行部署开始于2:55,结束于3:05.触发后会发生什么应该在3:00运行的管道?

Suppose there is a triggered pipeline at 3:00 O clock and deployment starts at 2:55 and ends at 3:05. What will happen to that triggered pipeline which was supposed to run at 3:00?

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

Similar to your second question, the pipeline should not be triggered (or in the pending state), but I still don't have an instance to test such a scenario.

这篇关于使用azure devop的ADF部署是否会影响环境中现有的管道/作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆