Sunday 3:10 p.m.–3:30 p.m. in Terrace
Single Artifact Deployments for Python Applications
Jason Filipe
- Audience level:
- Intermediate
Description
Deploying python applications should be fast, safe and repeatable. In this talk I will outline a new deployment process developed at Wave Accounting and show you the tips and tricks you'll need to build your own system.
Abstract
A look at a typical deployment process - typical git pull based workflow - building a fresh virtualenv - cons with this approach (several single points of failure)
Single artifact deployment
outline workflow and issues encountered
- symlink based deploy and its benefits
- minimizing external single points of failure (github, pypi)
- roadblocks encountered with compiled virtualenvs
- static asset compilation (grunt)
end to end workflow from a commit
- outline of jenkins job for artifact creation
- deployments via hipchat
improvements
- faster artifact creation at build time
- continuous deployment via jenkins build pipelines
Cover tools used
Jenkins
- ci and artifact creation
HAProxy
- zero downtime during deploys
Fabric
- basic deployment skeleton
Alternative approaches
Building rpm/deb packages
- pros and cons
Distribution using wheel
- pros and cons