So here's the Subversion, Jenkins, Beanstalk setup:
Basically what I want to do is this:
The idea is to have short sprints where at the end of each a development cylce ends and a qa cycle begins. When the qa cycle is complete it is pushed to a production environment.
I'd like to preserve the branches and do merging to\from the branches instead of deleted and re-created. The idea being that any fixes made in qa would be merged back intro trunk, and any changes made in prod would be merged back into qa (and back into trunk).
prod is therefore a "hot" branch and represents the current state of the production environment.
this is for a small team of developers working on week long sprints.
Questions:
I wouldn't recommend a qa and prod branch. Read up on subversion best practices. I'd recommend The SVN Book, in particular chapter 4 regarding branching/merging.
You should version every release even if it is to QA (through tags). Trunk is used for current development work, tags are for released versions(defined as "feature complete", not what environment it is in), and branches are for defect fixes (amongst other things).
Sample Scenario:
Version 1.0 is in production, your team has just released 2.0 to QA for testing, and are now working on a 3.0 release. At this point you would have:
If your QA team finds a problem in 2.0, you'll create a branch off of the 2.0 tag. Make your fix, merge to trunk then release the branch as 2.0.1 (another tag). You would then be left with:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With