A dead-simple wrapper for building python applications fpm
that will enforce some best practices.
ship_it manifest.yaml
defines some additional information that we'll send to fpm
name: name of the package
version: package version
iteration: package iteration
epoch: package epoch, should be an integer or 'timestamp' which sets value to Unix timestamp of build
before_install: path to pre_install script
after_install: path to post_install script
description: Package description
config_files: dictionary of files to be included and their local path
extra_files: dictionary of non-config files to be included and their local path
user: the user to own installed files (defaults to virtualenv_name)
group: the group to own installed files (defaults to user)
upgrade_pip: if pip should be upgraded after building virtualenv
upgrade_wheel: if wheel should be upgraded after building virtualenv
virtualenv_name: the name of the virtualenv to be built and installed (defaults to name)
local_package_path: the local path to the package to be installed
remote_package_path: the remote path for the package to be installed. By default, relative paths are relative to /opt
depends: list of package dependencies
method: copy (copy contents to venv), requirements (pip install -r requirements_file), or pip (pip install .). Defaults to setup.py (python setup_file install)
version: 0.13.0
name: frufyfru
before_install: preinstall
user: root
group: root
config_files:
/etc/frufyfru.conf: examples/frufyfru.conf
extra_files:
bin/your_cool_executable: some/local/path/my_cool_executable.sh