On Monday, March 14, 2011 08:22:23 am br wrote:
> Just curious if there is a best way to manage this both from a project-
> management and a git perspective.
> 
> Thanks
> 
> br

Before I begin, 'best' is completely subjective and I think all this comes 
down to what works for you and the situation. 

On my dev box I contain one directory that has django apps in development and 
those checked out from other repos, there is the global site-packages which 
contain apps installed from pypi and the package manager (using pm supplied 
modules before pypi stuff), another dir for projects, that may use it's own 
apps or from the other places (including other projects).  It's a cluster f*ck 
sometimes, because prototyping is done in this area also.

Apps in development have thier own repos. With git, using the git-submodule[1] 
command, you can use git like svn with svn externals.  Importing from other 
repos into a super repo/project. 

Staging/Q-C are a different server (physically) that mimics production in 
everyway possible (small sites can have qc on the same box as production to 
get the closest environmnet). This server is for one project only, the one 
you're testing, I really don't recommend one staging system for multiple sites 
unless you're using one user for one site. Ideally the user this exists as is 
a special user, specifically for staging/qc.

During setup/configuration run a script that installs django and any django-
apps you're getting from pypi, These don't go in the global site-packages, 
these go into a seperate directory.  like ~/lib/python/site-packages.  Unless 
your package manager supports using a prefix other than /usr for installing 
apps, avoid the pm at this point. You want fine grain control over what 
apps/version your project is using at this point.

The project is then one of the super-project git checkouts, pulling in the 
apps it needs from the different repos. Lives in it's own directory. this is 
the only area I need/want to update with git or modify.  With the only real 
work going on is checking/testing of the site, looking for runtime errors, 
verifying configurations.  


>From here package up the staging environment to be deployed in production. 


Mike

[1] https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial




-- 
Men use thought only to justify their wrong doings, and speech only to
conceal their thoughts.
                -- Voltaire

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to