DEV Community

Azure DevOps YAML release pipeline : Trigger when build pipeline completed

Kenichiro Nakamura on June 26, 2020

Finally, Azure DevOps yaml based CD has been GA! Announcing General Availability of YAML CD features in Azure Pipelines The very first question I ...
Collapse
 
lordisp profile image
Rafael Camison

A good description of how to use ressource. I'm not convinced that resource replaces a release pipeline. For the simple reason that you don't get revisions. Which is the crucial difference between a release and a build pipeline. Anyways, good job!

Collapse
 
kenakamu profile image
Kenichiro Nakamura

Yeah, I know what you mean. I hope "build" feature gives us more clear and granular capabilities to replace existing one in the future :)

Collapse
 
lordisp profile image
Rafael Camison

Or at least a yaml variant of release pipelines but yes, I agree.

Collapse
 
papasmurf profile image
Jan van Veldhuizen • Edited

This is a great way to split build and deployment. Until today it was quite annoying to always wait for my build and tests to run when testing he deployment part of my pipelines.
Super!

Now trying to find out which trigger I need to make it run automatically after a successful build

Collapse
 
gautampambhar profile image
gautampambhar • Edited

I learned a lot through this article. Thank you so much for publishing this.
I have one question though. in your build-pipeline.yml you have a task at last for file archive. what if I publish a build artifact instead of archiving file. Although Can you tell the difference between those two tasks. and what if I am publishing an artifact; in that case how the task will look like?

Thanks.

Collapse
 
kenakamu profile image
Kenichiro Nakamura

Thanks for your comment. you can publish the build artifact as you wish when you want to pass it to next stage, which may be run in different agent. Archive simply archive the directory and that's it. The reason you may want to use publish artifact is to store the result so that it can be picked up in the next stage.

As you may already know, there is no guarantee that some VM is used for different step, and even though it is used, no disk cache exists. That's whey you need to "publish" which simply store the result to Azure DevOps space (blob) and next step can download it. If you pickup the zip in next task in the same step, then it is still running in the same agent, so you don't have to publish it.

Collapse
 
thomasbinny profile image
thomasbinny • Edited

Guys, the problem i see is, even though i write and implement the release.yaml, the CI build.yaml pipeline does not trigger the Release.yaml

trigger:
  - none
resources:
  pipelines:
  - pipeline: Test_CI
    source: Test_CI
    trigger:
      branches:
        - feature/xxxxx
Enter fullscreen mode Exit fullscreen mode

Should i have to click on edit pipeline --> Triggers --> Enable Build Completion for this to work?
Image description

Collapse
 
kenakamu profile image
Kenichiro Nakamura

You don't have to. Did you configure Pipeline as pass the exact name to release yaml?

Collapse
 
rajacse51 profile image
Raja

I am not able to configure widgets from Azure Devops if we create the release pipeline using yml. How to address this?

Collapse
 
kenakamu profile image
Kenichiro Nakamura

I personally don't use widget so I have no idea at the moment. Which widget do you try to configure?

Collapse
 
chrispepper1989 profile image
Christopher John Pepper

So do these show up under pipeline->releases or is "releases" redundant now and we should do it all trough pipeline?

Collapse
 
kenakamu profile image
Kenichiro Nakamura

For my understanding, everything should be done in pipelines, not under releases. Releases menu is just there for backward compatibility.