Feedback: django-simple-deploy

I’ve been thinking about how to make the deployment process simpler for people for a long time. Last year I made a custom buildpack for Heroku that had an AUTOCONFIGURE_ALL setting, which would take care of everything the Heroku docs have you do when configuring your project for deployment. It worked, but it wasn’t very satisfying because it was a Heroku-centric approach rather than a Django-centric approach.

Recently I came at it from a different angle. I made an app called django-simple-deploy that gives you a single management command, simple_deploy. You can call simple_deploy in two ways, one that only configures your project for deployment and one that automates the entire deployment process.

So if you have a simple project, you can deploy it in three steps:

$ pip install django-simple-deploy
# Add simple_deploy to INSTALLED_APPS
$ python manage.py simple_deploy --automate-all

This works from either the main branch, or any development branch.

The configuration-only approach requires you to run heroku create first, then run simple_deploy, then review changes, commit changes, push the project, and run the initial migration.

Here’s the PyPI page, and the source repository. The code is a bit messy and I’ll refactor it shortly now that it’s working, but I really like the user-facing aspects of the project at this point. If anyone has thoughts about what you’d like to see in this project, I’d love to consider them early before the project gets more set in its ways. It would be really nice to have a simple, stable way to help people make their initial deployments that didn’t require all of us to know all the deployment steps in detail.

I’m also hoping to add support for at least one more platform. Any platform that allows the entire deployment process to be scripted is a candidate. I’m partial to platforms that don’t require a cc for trial deployments, for a variety of reasons.

2 Likes

Great to chat with you just now Eric on Django Chat. Episode will be released mid February. I’d definitely encourage anyone on the forum to give django-simple-deploy a try. 3 steps and done for most deployments :slight_smile: