aleksandr-m / gitflow-maven-plugin

The Git-Flow Maven Plugin supports various Git workflows, including GitFlow and GitHub Flow. This plugin runs Git and Maven commands from the command line.
https://aleksandr-m.github.io/gitflow-maven-plugin/
Apache License 2.0
493 stars 181 forks source link

Canary Deployment #255

Closed njchandu closed 3 years ago

njchandu commented 3 years ago

Hi,

I am trying to follow gitflow and ran into this issue. I'm trying to hold on to the release branches mainly because we mostly do canary deployment before deploying to all the instances and they are two different processes. First a canary deployment takes place, we monitor the metrics for 1 to 7 days depending on the feature and deploy to all the regions and hosts upon validation.

I got this error when I try release-finish

23:14:34 [ERROR] Failed to execute goal com.amashchenko.maven.plugin:gitflow-maven-plugin:1.14.0:release-finish (default-cli) on project smw-java-gitflow: release-finish: More than one remote release branch exists. Cannot finish release. -> [Help 1]

What should I do in this case. Thanks in advance.

aleksandr-m commented 3 years ago

Why do you need a second release branch? Why not to use the same branch? Or better yet same artifacts in staging and production?

njchandu commented 3 years ago

Yes, that actually makes sense. Let me think about it. I will update this ticket in a day or two, thanks.

njchandu commented 3 years ago

Hi @aleksandr-m, I agree with your thought process on not needing a second release branch. Would it be better to throw this error during a release:start instead of release:finish?

I am trying gitflow for the first time in our org. First pass was a super duper mess because of conflicts and not thinking the process through completely.

I'm trying to integrate it with CI. Could you please let me know if there are any fundamental issues with this approach.

There are 2 Jenkins jobs:

aleksandr-m commented 3 years ago

@njchandu

Would it be better to throw this error during a release:start instead of release:finish?

It is already there.