C5, git, managing multiple sites with one install

Permalink
Hi There,

Over the past few months we've manage to switch from Expression Engine to c5 and plan to move several key client sites over to c5 - we really love the way c5 lets clients work directly with their content.

Special thanks to jordanlev and others for their help over the past few months - as web designers with zero technical knowledge, you guys have been very patient!

Before we migrate sites over, I had a couple of questions.

1. Managing multiple sites from one c5 install
Does this make updating and maintaing c5 sites easier, or does it cause a bit of a headache (as we discovered with Expression Engine)?

We like the idea of maintaing one core install and wondered what kind of experiences people have had with this? Is it particularly technical or fairly straight forward?

2. Git and c5
We'd really love to use Git to test changes on our DEV server, then push those changes to the LIVE server - just makes sense on so many levels.

Are there tutorials/posts that might help explain how to do this with c5? Git and version control are new to us so as much as possible, I guess we're looking for step-by-step vibes.

Also, it seems to me that the database would play a a role with any version control system but we're a bit confused how it integrates with Git - what do other people do?


Any help or suggestions would be much appreciated and thanks again for all the help you guys have given.

Cheers

Ben

 
12345j replied on at Permalink Reply
12345j
hey:
1) I think it should be fairly easy, but I've never actually done it. theres a lot of info about this though:
http://www.concrete5.org/marketplace/addons/domain_mapper/...
http://www.concrete5.org/documentation/how-tos/developers/running-m...
http://www.concrete5.org/documentation/how-tos/developers/french-fa...
http://www.concrete5.org/documentation/how-tos/developers/a-multi-s...
http://www.concrete5.org/documentation/how-tos/developers/setting-u...
http://www.concrete5.org/documentation/how-tos/developers/plesk-mul...
2) I think you have github mixed up. github concrete5 provides a beta version of concrete5 that isn't stable and not to be used on production sites. I guess you could use github to push changes, but it would be complicated, and you couldn't manage the db through github so you couldn't test it- which I think you want to do.
cmscss replied on at Permalink Reply
Thanks for that, I'll check out those links.

Re Git, lots of people use it without Github I think - Github has a pretty sweet looking OSX app which might make things easier though.

I've installed Git on our server and my local OSX machine and am about to learn it. It seems to be pretty popular with the Expression Engine community and with the Ruby developers I've worked with.

They seem to use it to track changes locally, move the changed files to a DEV server to test, then commit changes to the LIVE server when everything's working.

Dunno, I'm looking into it today so thanks heaps for the reply.

Cheers

Ben
jordanlev replied on at Permalink Best Answer Reply
jordanlev
re: git -- it is very complex, and there are no c5-specific tutorials. I've been using it for a year or two and am only now starting to truly understand how it works and how to use it effectively!
I want to recommend against trying this now, but at the same time I'd hate to suggest that you shouldn't do something just because it's hard. I guess I would say that you should try it out in an isolated environment, on projects that are not "real" and on sites that are not for paying clients. Just at first, to see if you can establish a good workflow for it.
But git might be overkill for this situation -- you might be better off setting up rsync on the servers, which is a standard unix program that copies files from one place to another (and knows which files have been changed since the last sync so it doesn't re-copy everything all the time). You don't get the version tracking benefits of git, but if you're only concerned with the deployment aspect then it will be a much more straightforward thing to set up.

Good luck!
cmscss replied on at Permalink Reply
Thanks mate,

I too have tried to learn Git (it's mainly the setup and access I have trouble with) and definitely don't won't to cause issues for our live sites.

And rollback/version control is a big part of why we're looking at it - but it might be a bit over our heads at this point.

I did find this article which sounds interesting: http://www.viget.com/extend/backup-your-database-in-git/...

Looks like it puts your database into git so you have the ability to rollback to a previous version if there are issues.

Anyway, thanks for your reply - will tread carefully.

Cheers

Ben