问题
I have rather simple scenarion, one master branch then when I want to do a production release I want to tag a commit with eg. vX.X.X.
The CI/CD pipeline looks like this
Build -> Staging Environment -> Production Environment
- Every commit to master is sent to staging environment
- When I add a vX.X.X tag to a commit I want the staging and production environment to trigger.
I have found this link Trigger build when pushing tag to git. I just can't figure it out how to make it work. It simply does not work for me.
Is it possible and how do I configure the VSTS to start a build when a tag is added to a commit?
回答1:
When commit with tag pushed to master
branch, build will be triggered for twice (on master branch and the tag) separately, you need to specify the Production Environment triggered after release not after Staging Environment.
And the build and release definitions settings as below:
Build definition:
In Triggers Tab -> set branch filter to include master
and refs/tags/v*
->Save.
Release definition:
Specify Artifact filter to include master
branch for Staging Environment -> select After release for Production Environment trigger -> specify Artifact filter to include refs/tags/v*
for Production Environment -> Save.
If only commits are pushed to master
branch -> a build is triggered for master
branch -> a new release is created -> only deploy Staging Environment.
If both commits and tags are pushed to master
branch -> two builds are triggered (one for master
branch, the other for refs/tags/v*
) -> two releases are created:
For the release linked with build artifacts on
master
branch -> only Staging Environment is deployed;For the release linked with build artifacts on
refs/tags/v*
-> only Product Environment is deployed.
回答2:
In many screenshots for Release artifact filters, I see the option for Build Branch; however, in our setup I don't see that. It's even there when looking at the DevOps documentation. Perhaps it's an issue of permission or version??
We are using TFVC.
Screenshot of Release Trigger
来源:https://stackoverflow.com/questions/51662042/how-to-trigger-vsts-build-and-release-when-pushing-tags