This is not about git flow as it is about automation, testng and
devops process to acheive this.
You say that but the reason why you are having this problem is a Git
Flow-specific assumption about “production”:
But our pipeline auto builds master branch push.
From the article:
Therefore, each time when changes are merged back into master
, this is
a new production release by definition. We tend to be very strict at
this, so that theoretically, we could use a Git hook script to
automatically build and roll-out our software to our production
servers everytime there was a commit on master
.
Helpfully the article likes using “per definition” (italic theirs) so
there can be no confusion about what the current “production release”
is. And you seem to be following that.
So you cannot just use a “always build master
automatically” rule as
the only way to deploy. You need more.
- You cannot use that rule for staging and QA since that would mean
that building for QA would make a new production release (by
definition)
- You probably also don’t want to make a merge to
master
(and hence
make a new version release) just for a demo
You need some extra flexibility.
If you want to stick to some branch rules for deployment then you need
to make some new branches:
QA
- Or
QA/dave
, QA/philip
, etc.
demo
- Or
demo/susans-showcase
, demo/carls-weekly-hangout
,
demo/for-finicky-customer-X
merge --no-ff
from develop
into those optional.