We solve this issue with git.

Master is the stable code on production.

Testing is what is being groomed as the next release.

Features that are being develped but not targeted for the next release are in their own feature branches.

Testing is qa'd each time something is merged into it. When all features identified for release are in and have been qa'd together it's tagged. We then merge that tag into master and deploy.

When a feature branch is complete and ready to go to to testing it's rebased and squashed against testing so that it goes into testing as a single reversable commit.

On Feb 25, 2010, at 9:25 AM, arun <[email protected]> wrote:

I agree that there are risks there, but in this case I'm willing to
accept them as I want to test out a continuous deployment approachv
with a small, low risk project.

So, to the original question, I guess what I want to ensure is that
what gets deployed is exactly the same code as has been built /
tested.  Even if I wasn't chaining it to CruiseControl, I would think
that this would still be a concern as I would want to be sure that I
deployed the exact code that I tested locally and avoid the
possibility that someone had slipped in a commit while I was building.


On Feb 25, 11:09 am, Greg Akins <[email protected]> wrote:
On Thu, Feb 25, 2010 at 12:03 PM, Lee Hambley <[email protected]> wrote:
Greg,

Depending on the scope, and interest of your project, it might be incredibly
foolish to link deploys to commits, do you really want to deploy
(automatically) that crazy refactor you just finished at 4:50 on a Friday? .... At least in larger organisations there are reasons not to do such things, I think the reasons are valid in a lot of smaller organisations too.

I hear you.. that's one of the reasons I'd like to chain the various
deploy/test sequences.. I'd like to commit.. deploy to test.. run the
test suite.. and if that all passes deploy to prod.

Of course, the risk is that an untested "feature" slips through to production.

My question was:  do you think that Capistrano isn't designed to
handle this scenario, or do you just think the practice is a bad idea?

--
Greg Akins

http://insomnia-consulting.orghttp://www.pghcodingdojo.orghttp://pittjug.dev.java.nethttp://twitter.com/akinsgrehttp://www.linkedin.com/in/akinsgre

--
* You received this message because you are subscribed to the Google Groups "Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano?hl=en

--
* You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to 
[email protected] For more options, visit this group at 
http://groups.google.com/group/capistrano?hl=en

Reply via email to