What follows sidesteps any benefit that might accrue from the use of a
Hudson CI server (no experience there). My preference is to keep the
workflow infrastructure as simple as possible. For an 'under-
engineered' configuration and workflow that works quite nicely for me:
Configuration
Development machines with multiple branches
master, staging, topic_1, topic_2, topic_n
Heroku apps corresponding to these two branches
master, staging
Heroku remotes configured per:
http://jqr.github.com/2009/04/25/deploying-multiple-environments-on-heroku.html
Workflow
# develop in branch topic_n
# test 'clean' in topic_n
git checkout staging
git merge topic_n
git push heroku_staging staging:master
# verify staging OK
git checkout master
git merge staging
heroku maintenance:on --app 'your_production_app'
git tag -a v.n.n.n -m 'your release message'
git push heroku_prod
heroku maintenance:off --app 'your_production_app'
git checkout topic_n
# develop in branch topic_n
# rinse, lather, repeat
Gary
http://www.realized-app.com
On Dec 21, 11:48 pm, Yuri Niyazov <[email protected]> wrote:
> Maybe you are the first one to do this that deeply - I just run my tests
> manually before pushing it to staging, the way its described in "deploying
> multiple environments" that you mentioned below. If you find a solution that
> works, I would love to hear about it.
>
> On Dec 21, 2009, at 10:49 PM, Bradley wrote:
>
>
>
> > So apparently that's not a popular topic. I'm now thinking I'd just
> > have three branches. Normal master would deploy to testing, a staging
> > and a production environment. I"m picturing that I would take a Git
> > revision from my CI build and merge that from master to staging for a
> > deploy. I can't really figure that out though. I'm assuming I have
> > to git fetch from master into my staging branch with a particular
> > revision code and then merge then push to heroku. Is this correct?
> > Can someone point me in the right direction?
>
> > On Dec 12, 9:49 am, Bradley <[email protected]> wrote:
> >> Forgive my limited knowledge on all of this, but I'm looking to start
> >> a new site with Heroku that has a dev, staging and prod environment.
> >> I'm brand new ti Git (been using it in a very limited capacity (one
> >> branch) for a couple of weeks) and I JUST set up HudsonCIserver to
> >> run my rails builds)
>
> >> I've found a few articles:
> >> (http://jqr.github.com/2009/04/25/deploying-multiple-environments-on-
> >> heroku.html
> >> andhttp://suitmymind.com/blog/2009/06/02/deploying-multiple-environments...)
>
> >> on the topic of multiple environments, but I'm wondering if I can get
> >> advice on auto deploying to a dev environment from hudson, and then
> >> the best mechanism for branching a particular build and deploying into
> >> staging, then eventually production.
>
> >> So, I'd like Hudson to run all my tests, and on success push this to
> >> heroku dev environment automatically so my changes are instant.
> >> Originally I thought I'd create a branch for each dev build and push
> >> that, but I'm thinking now that may be unnecessary. My second though
> >> was to just push the master branch on each hudson deploy, then, when
> >> I'm ready for staging, find whatever build I want, create a branch
> >> from that Git revision then deploy to staging. Assuming all is good
> >> from that branch, tag it for production release and push to
> >> production.
>
> >> A few questions though. Do I have to do some heroku setup on each new
> >> branch? Does that just set up the appropriate remotes with
> >> appropriate branches? This is where my limited git knowledge comes
> >> in. I'm assuming I have to tell heroku to push from my new branch,
> >> not master. Is it better to merge to the same "staging" branch each
> >> time? I don't like that as much because rolling back a version is a
> >> bit more difficult.
>
> >> Finally, if I do a heroku create on one computer, i'm assuming this
> >> does not propagate to others? So on myCIserver, I'd have to do the
> >> same thing to set up a heroku deploy to testing.
>
> >> Does anyone have advice on a good, multi-staged environment with auto
> >> deploy andCI?
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "Heroku" 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
> > athttp://groups.google.com/group/heroku?hl=en.
--
You received this message because you are subscribed to the Google Groups
"Heroku" 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/heroku?hl=en.