简体   繁体   中英

While deploying on specific machines using azure devops can I only target Pilot run machines & post that other machines?

I am currently having below scenario to crack :

I have deployment target(XYZ) on Azure devops. This XYZ group holds 20 targets, out of this 20 targets while deploying to production I want deployment should only happen at 2-3 machines first. Post successfull checks or post 2-3 days I can trigger on other set of machines. I have no definite number of machiens that will always be my pilot machines.It may differ everytime.

As of now I have below approach , but I want to know what is the best practice that I can use to fulfil above requirement:

For now before deployment I will identify machines where pilot run will happen, I will add an extra tag to them under deployment group. Same tag will also be added under pipeline to the task. As per this approach my deployment team will every time have to modify pipeline & deployment group, is there any better way to do this?

As indicated in the ticket you mentioned in the comment, currently as workarounds, we can filter by custom conditions or tags.

Filter by custom condition:

  1. Create a Pipeline Variable that contains server names as value.
  2. Add a Custom condition on Custom condition step: and(succeeded(),contains(variables['IncludedServers'],variables['Agent.MachineName']))

在此处输入图片说明

  1. Modify the variables as needed when creating the release

Filter by tags:

We can use machine tags to limit deployment to specific sets of target servers.

The tags you assign allow you to limit deployment to specific servers when the deployment group is used in a Deployment group job.

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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