Skip to content
This repository was archived by the owner on Oct 30, 2020. It is now read-only.

Commit 3f93ae8

Browse files
author
Paulo Baima
committed
Merge branch 'feature/project-description' into develop
2 parents ec6656f + f6c9de4 commit 3f93ae8

File tree

8 files changed

+2489
-5244
lines changed

8 files changed

+2489
-5244
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
## Contribution Guidelines
2+
* Please follow the GitFlow design: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
3+
4+
* Please include tests covering the change.

README.md

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,50 @@
1-
# azuredevops-unify-release
1+
![Azure DevOps tests](https://github.com/psbds/azuredevops-unify-release/blob/master/images/extension-icon.png)
2+
# Azure Devops Unify Release Task
23

34

4-
### Development:
5-
[![Build status](https://dev.azure.com/padasil/AzureDevOps%20-%20Unify%20Release/_apis/build/status/Development%20Build)](https://dev.azure.com/padasil/AzureDevOps%20-%20Unify%20Release/_build/latest?definitionId=7)
6-
![Azure DevOps tests](https://img.shields.io/azure-devops/tests/padasil/AzureDevOps%20-%20Unify%20Release/7)
7-
![Azure DevOps coverage](https://img.shields.io/azure-devops/coverage/padasil/AzureDevOps%20-%20Unify%20Release/7)
5+
### Develop Branch:
6+
[![Build status](https://dev.azure.com/padasil/AzureDevOps%20-%20Unify%20Release/_apis/build/status/Develop%20Build)](https://dev.azure.com/padasil/AzureDevOps%20-%20Unify%20Release/_build/latest?definitionId=9)
7+
![Azure DevOps tests](https://img.shields.io/azure-devops/tests/padasil/AzureDevOps%20-%20Unify%20Release/9)
8+
![Azure DevOps coverage](https://img.shields.io/azure-devops/coverage/padasil/AzureDevOps%20-%20Unify%20Release/9)
9+
10+
Unify Relase is a simple build task for Azure DevOps to enable two or more builds from the same source code to trigger a single Release.
11+
12+
By default if you have a release that get triggered by two different builds (even if those builds are triggered from the same source version), this release will be run for each time one of this builds are completed
13+
14+
![Azure DevOps tests](https://github.com/psbds/azuredevops-unify-release/blob/master/docs/unify-release-before.png)
15+
16+
With the unify release task, you are able to control the releases in a way that two builds triggered from the same source version can generate only one release.
17+
18+
![Azure DevOps tests](https://github.com/psbds/azuredevops-unify-release/blob/master/docs/unify-release-after.png)
19+
20+
This scenario is common especially with Mono Repository approach, where you need to make changes in two different applications that must go live in the same release.
21+
22+
## How does it works
23+
1. The Unify release tasks when executed from a Build pipeline, checks the other builds triggered from the same source version.
24+
25+
2. If no builds are pending it will create a build tag that you can use to filter in your release pipeline.
26+
27+
3. If there's a build pending, it will not create the build tag, so your release pipeline (with the build tag filter enabled) will not be triggered.
28+
29+
In this way, only the last build to finish will create the build tag and the pipeline will be run.
30+
31+
## How to Use It
32+
33+
1. Install the Unify Release Task from the Azure DevOps Marketplace.
34+
35+
2. Put the Unify release task in your build pipelines as the last task to be executed.
36+
37+
4. In your Release Artifacts, put a Build Tag filter for the build tag you configured on the Unify Release Task (default to create_release).
38+
39+
40+
## Task Options
41+
42+
43+
|Parameter |Description | Default Value |
44+
|---|---|---|
45+
| Release Tag | Name of the build tag that will be created if the build is the last one to be completed.| create_release |
46+
| Wait for All Triggered Builds | Indicates that the Unify Release Task should consider all build definitions tiggered by the same source version. When wait for all triggered builds is false, you can specify which builds the Unify release task is going to consider to evaluate if the build tag should be created. | true |
47+
| Project |Project where the build definitions to be considered are stored.| null |
48+
| Related Definitions |Indicate which build definitions should be considered by the unify release task.| null |
49+
|Release on Error |Indicate that the build tag should be created even if one of the related builds fails.|false |
50+
|Release on Cancel |Indicate that the build tag should be created even if one of the related builds is cancelled.|false |

docs/unify-release-after.png

63.2 KB
Loading

docs/unify-release-before.png

105 KB
Loading

images/extension-icon.png

44.9 KB
Loading

0 commit comments

Comments
 (0)