O'Reilly logo

Ansible: Up and Running, 2nd Edition by Rene Moser, Lorin Hochstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 5. Introducing Mezzanine: Our Test Application

Chapter 2 covered the basics of writing playbooks. But real life is always messier than introductory chapters of programming books, so in this chapter we’re going to work through a complete example of deploying a nontrivial application.

Our example application is an open source content management system (CMS) called Mezzanine, which is similar in spirit to WordPress. Mezzanine is built on top of Django, the free Python-based framework for writing web applications.

Why Deploying to Production Is Complicated

Let’s take a little detour and talk about the differences between running software in development mode on your laptop versus running the software in production. Mezzanine is a great example of an application that is much easier to run in development mode than it is to deploy. Example 5-1 shows all you need to do to get Mezzanine running on your laptop.1

Example 5-1. Running Mezzanine in development mode
$ virtualenv venv
$ source venv/bin/activate
$ pip install mezzanine
$ mezzanine-project myproject
$ cd myproject
$ sed -i.bak 's/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = ["127.0.0.1"]/' myproject\
/settings.py
$ python manage.py createdb
$ python manage.py runserver

You’ll be prompted to answer several questions. I answered “yes” to each yes/no question, and accepted the default answer whenever one was available. This was what my interaction looked like:

Operations to perform: Apply all migrations: admin, auth, blog, conf, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required