On Thursday, January 8, 2015 at 1:20:39 PM UTC+2, Mike Dewhirst wrote:

>
> Have you seen Mezzanine fab deployment? Ken Bolton has blogged about it 
> ... 
>
> http://bscientific.org/blog/mezzanine-fabric-git-vagrant-joy/ 
>

Seems interesting. I have to play with it.

The biggest issues for me are that you use settings file directly to have 
your deployment description. Also, at least by default this solution 
doesn't work on Docker (though vagrant does seem to have Docker support, so 
it might be just a configuration issue).

What I did in django-dockerfile, and what I really like about 
django-dockerfile, is that server specific configuration is separated from 
settings.py. There is usually a base, secrets and then deployment 
environment files. The way this works is that base.env could contain the 
following:
{
   "DATABASE_HOST": null,
   "DATABASE_PASSWORD": null,
   "DATABASE_USER": "someuser
}
Here null values denote that these settings must be overridden by other 
environment files.

secrets.env could contain:
{
    "DATABASE_PASSWORD": "somepassword"
}

and then production.env has:
{
    "from": ["base.env", "secrets.env"],
    "DATABASE_HOST": "example.com"
}

Now, when using production.env, first variables from base.env are read, 
then vars from production.env override the DATABASE_PASSWORD variable, and 
finally the production.env overrides the DATABASE_HOST variable.

The project's settings.py uses environment variables always, so that there 
is no need for multiple different settings files.

The point is that it is very easy to have production, qa and other needed 
environments set up. Just create a qa.env and inherit from base.env. The 
code used for different environments is always the same, including the 
settings file which makes it easier to see what is actually going on with 
settings.

 - Anssi

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/50c1c885-a554-4635-8623-8fa743f47c62%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to