Jyrki Pulliainen - Packaging in packaging: dh-virtualenv
Deploying your software can become a tricky task, regardless of the
language. In the spirit of the Python conferences, every conference
needs at least one packaging talk.
This talk is about dh-virtualenv. It's a Python packaging tool aimed
for Debian-based systems and for deployment flows that already take
advantage of Debian packaging with Python virtualenvs
-----
[Dh-virtualenv] is an open source tool developed at Spotify. We use it
to ease deploying our Python software to production. We built dh-virtualenv as a tool that fits our existing continuous integration flow with a dedicated sbuild server.
As we were already packaging software in Debian packages, the
aim of dh-virtualenv was to make transition to virtualenv based installations as smooth as possible.
This talk covers how you can use dh-virtualenv to help you deploy your
software to production, where you are already running a Debian-based system, such as Ubuntu, and what are the advantages and disadvantages of the approach over other existing and
popular techniques. We will discuss the deploying as a problem in
general, look into building a dh-vritualenv-backed package, and in the
end, look into how dh-virtualenv was actually made.
Goal is that after this presentation you know how to make your Debian/Ubuntu deployments easier!
[dh-virtualenv] if fully open sourced, production tested software,
licensed under GPLv2+ and available in Debian testing and unstable.
More information of it is also available in our [blogpost].
Talk outline:
1. Introduction & overview (3min)
* Who am I?
* Why am I fiddling with Python packaging?
* What do you get out of this talk?
2. Different shortcomings of Python deployments (5min)
* Native system packages
* Virtualenv based installations
* Containers, virtual machine images
3. dh-virtualenv (10 min)
* What is dh-virtualenv?
* Thought behind dh-virtualenv
* Advantages over others
* Requirements for your deployment flow
* Short intro to packaging Sentry with dh-virtualenv
4. How is it built? (10 min)
* Debian package building flow primer
* How dh-virtualenv fits that flow
* What does it do build time and why? |