避免在Azure持续交付之间种族条件
我正在将开发环境部署在两个管道中,其中包含(部署(10分钟) +测试在倾斜(10分钟)部署后进行的测试)。
1>Master Pipeline - Triggers when changes merged to master
2>Release Pipeline - Manual deployment
在部署期间发布管道,如果某些代码合并到主体,则管道将触发&错误消息正在进行中的其他安装/升级&导致失败状态。
如果部署在同一管道中,则部署将等待上一个完成&开始部署,但是随着我在先前部署中进行的测试进行,这也会导致易行的方案。
如果在一个环境上部署进行部署,那么在两个CD管道之间的Azure交付步骤中,是否可以实现任何依赖性,那么不同管道的其他版本应该等待?
I am deploying DEV environment in two pipelines that contains (Deployment(10 mins) + tests run on deplyment (10mins) post deployment) for each run.
1>Master Pipeline - Triggers when changes merged to master
2>Release Pipeline - Manual deployment
During deployment to Release pipeline if some code merged to master then pipeline will trigger & error message some other installation/upgrade in progress & lead to fail state.
If deployment in Same pipeline then the deployment waits for previous one completes & starts deployment but as my tests running in previous deployment this would also lead to error prone scenario.
is there any dependency can be achieved in Azure delivery step between two CD pipelines if deployment going on one environment then other Release from different pipeline should wait ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您想调用
Deployment Pipeline
执行后测试管道
在测试管道中可以做什么在开始测试之前,请使用任务调用一个函数
将存储(在您选择的存储解决方案中)
test Pipeline
的状态。然后在测试
测试管道
完成后触发一个功能,该功能将重置
test Pipeline
的状态完成执行。
然后在
开发管道内部
您可以在管道的开始。此门将调用一个功能
将检查测试管道状态,并返回对
门 。现在,直到首选,此门才不会启动部署
收到响应(即测试管道已完成执行)。
使用无代理作业触发管道中的功能。
参考:
请参阅此文章马库斯(Marcus)违反代理人的作业来触发功能。
Since you want to invoke a
deployment pipeline
after the executionof a
testing pipeline
what you can do that inside the test pipelinebefore the start of the testing use a task to invoke a function which
will store (inside a storage solution of your choice) the status of the
test pipeline
as under execution.Then after the completion of testing the
test pipeline
againtrigger a function which will reset the status of the
test pipeline
to completed execution.
Then inside the
development pipeline
you can create aGATE
atthe start of the pipeline . This gate will invoke a function which
will check for the test pipeline status and return a response to the
gate . Now this gate will not start the deployment until a preferred
response is received (i.e. the test pipeline has completed execution) from the function.
Use agentless job to trigger the functions in the pipelines.
Reference:
Refer this article by Marcus Felling to trigger function using agent less jobs .
Azure Pipeline GATE