06-11-2009, 09:10 AM
|
#3 (permalink)
|
|
The Contributor
Join Date: Nov 2007
Location: California
Posts: 82
Thanks: 0
|
The way i've done it in the past... this may vary depending on your server set up.
What I've done, is have a common base path for my core files.
So my CMS core may reside...
/home/cms/core
while all of my clients will reside in their own home folder
/home/client1/cms
/home/client2/cms
etc etc
From there, inside of each web folder, is a config folder.
The config will set up the basic define() for each project, including the CMS base.
When the build is ready, I invoke my build script, which moves all of the files down in directories, and then rsyncs them to the correct machine that they are hosted on.
Really, the trick is to set up your file directory, and build script, in a manner that allows you to 'overload' files.
So, example:
/core/
/admin/
/include/
/js/
/css/
main.css
..etc..
/client1/cms/
index.php
/css/
main.css
Now, in this example, the build script would copy all of the files from /core/ and put them in a temp directory.
Then, it would copy all of the files from /client1/cms/ and put them in that temp folder, overwriting the files that it conflicts with.
This allows you to over ride something per project.
Then, the trick is to just set the rsync paths and boom! you're in business managing code base for a whole lot of clients :)
|
|
|
|