atomically deploy your code from tarballs
tarball-deploy - atomically deploy your code from tarballs
tarball-deploy is an utility to facilitate deploying code (or any files, for
that matter) packed into TAR archives. It handles unpacking received archives,
and switching to new releases atomically (using a little bit of symlink magic).
tarball-deploy has been written with shared web hosting services in mind,
which usually grant you SSH access to a shared server, and one or more
public_html directories, where you're expected to put your website files (eg.
static HTML, or PHP scripts). This tool attempts to address the following
- How to copy new release of your website from your CI/CD pipeline (you have one, right?) to your server.
- How to switch to the new release atomically, so that the site is in consistent state all the time.
- A decent UNIX-like system, which will let you install custom Python scripts
tarimplementation. GNU Tar and libarchive (FreeBSD) tar are known to work.
tarball-deploy is expected to be installed on your server. The
easiest way is to install it with
$ pip install tarball-deploy
You might, however, want or need to install it in a virtualenv and symlink
somewhere in your
For every website you want to manage, you will need to:
- Generate an SSH keypair for your CI runner
.ssh/authorized_keyson your server and add something similar to:
restrict,command="tarball-deploy --workdir=/your/remote/deployment/dir --from=-" ssh-rsa AAAAB3Nza...
/your/remote/deployment/dir/currentto a place where your web server is expected to find your site content (usually something like
Created by Piotr Śliwka
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size tarball-deploy-0.0.7.dev4.tar.gz (5.4 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for tarball-deploy-0.0.7.dev4.tar.gz