Skip to content

Instantly share code, notes, and snippets.

@dduleone
Last active August 29, 2015 14:14
Show Gist options
  • Save dduleone/2a4c141f4b4900d0f037 to your computer and use it in GitHub Desktop.
Save dduleone/2a4c141f4b4900d0f037 to your computer and use it in GitHub Desktop.
Versioning Dilemma
Time = Now
DEV: v2.0.24.1
QA: v2.0.24.1
STAGE: v2.0.24RC
PROD: v2.0.23
WHen I push the story I'm working on to dev:
DEV: v2.0.25.1
QA: v2.0.24.1
STAGE: v2.0.24RC
PROD: v2.0.23
Then I merge it to QA:
DEV: v2.0.25.1
QA: v2.0.25.1
STAGE: v2.0.24RC
PROD: v2.0.23
Then we do a Prod deployment next Thursday:
DEV: v2.0.25.1
QA: v2.0.25.1
STAGE: v2.0.24RC
PROD: v2.0.24
Right away, see how Prod gets updated to not have the RC, but stage, still has it?
Technically the code is in identical state, but now the version stored in a file in source
is changed, so the hashes have changed. This puts PROD ahead of STAGE.
Then I start working on a story for next iteration, and Josh approves it into DEV:
DEV: v2.0.26.1
QA: v2.0.25.1
STAGE: v2.0.24RC
PROD: v2.0.24
Then we do a deployment to STAGE:
DEV: v2.0.26.1
QA: v2.0.25.1
STAGE: v2.0.25RC
PROD: v2.0.24
Now we have a repeat of the problem between PROD and STAGE, only it's between STAGE and QA.
Now the fun part... The next iteration starts, I push DEV, which is ahead of QA up to QA, for verification.
DEV: v2.0.26.1
QA: v2.0.26.1
STAGE: v2.0.25RC
PROD: v2.0.24
Now, QA has copletely diverged from STAGE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment