Django dev/deploy environment for distributed agile teams

42 views
Skip to first unread message

Ashkan Roshanayi

unread,
Dec 31, 2011, 2:25:26 PM12/31/11
to django...@googlegroups.com
Hi everybody, we are working in a geographically distributed agile team. I am trying to design and configure our development environment and deployment procedures and need to know about your valuable experiences. My requirements are:

* Each new developer can kick-start developing: dev environment and all installs/configs (python related) should be achievable in 15 minutes. This procedure should be automated and repeatable.

* Everybody can pull & build whole project locally and run complete *functional* test suite

* Upon pushing code in our Github repo, it will be pulled out by our build/staging server automatically --> all *functional* & *non-functional* tests will be run by Jenkins --> if successful: we can test it manually on this server too.

* Admins can choose some features or profiles on this staging server and deploy them to live (production) server by ideally executing a script


I've read a lot about virtualenv, pip, fabric, puppet, chef & blueprint and used some of them but want to hear more about your recommendations, best practices and potential pitfalls. Appreciate it very much.

Happy new year :)

--
Ashkan

Paul Msegeya

unread,
Dec 31, 2011, 2:11:53 PM12/31/11
to django...@googlegroups.com
sounds good...Happy new year too.


--
Ashkan

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


Denis Darii

unread,
Dec 31, 2011, 4:23:35 PM12/31/11
to django...@googlegroups.com
Hi Ashkan,

You can take a look at our project: django-fagungis = DJANGO + FAbric + GUnicorn + NGInx + Supervisor deployment
Here: https://bitbucket.org/DNX/django-fagungis/
We use it for the same purpose as you described.
If you have some questions, suggestions or ideas about and for the project feel free to open an issue on bitbucket.

Happy new year to all!
--
This e-mail and any file transmitted with it is intended only for the person or entity to which is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. Copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.

Ashkan Roshanayi

unread,
Jan 1, 2012, 9:27:09 AM1/1/12
to django...@googlegroups.com
Thanks Denis, I am not sure about using Gunicorn. Actually am thinking about a more async, non-blocking platform maybe using Tornado. What do you think?

Cheers,

creecode

unread,
Jan 1, 2012, 12:37:18 PM1/1/12
to django...@googlegroups.com
Hello Ashkan,

Gunicorn can handle async from what I read < http://gunicorn.org/design.html >.  From the docs...


Sync Workers

The most basic and the default worker type is a synchronous worker class that handles a single request at a time. This model is the simplest to reason about as any errors will affect at most a single request. Though as we describe below only processing a single request at a time requires some assumptions about how applications are programmed.

Async Workers

The asynchronous workers available are based on Greenlets (via Eventlet and Gevent). Greenlets are an implementation of cooperative multi-threading for Python. In general, an application should be able to make use of these worker classes with no changes.

Tornado Workers

There's also a Tornado worker class. It can be used to write applications using the Tornado framework. Although the Tornado workers are capable of serving a WSGI application, this is not a recommended configuration.


Of course there may be other technical reason to not use Gunicorn but if you're looking for something that eases deployment, give it a go!

Toodle-loooooooooooo..........
creecode

Alexis Bellido

unread,
Jan 5, 2012, 7:11:35 AM1/5/12
to django...@googlegroups.com
I wrote a Fabric script to automate Django deployment, in my tests with Ubuntu servers (actually, virtual machines running under KVM) the script took 14 minutes from a clean Ubuntu install to a running Django environment.


Regards!
Reply all
Reply to author
Forward
0 new messages