Use fpm inside Docker containers to easily build various OS packages.
Pre-built images can be pulled from hub.docker.com.
Pull an image for your preferred OS
docker pull colinhoglund/fpm:ubuntu-trusty
By default, running these containers executes a specified build script based on the following environment variables.
BUILD_PACKAGE
: the package to buildBUILD_VERSION
: the version of the package to buildBUILD_ITERATION
: the build iteration
For Example, the following will build python for Ubuntu 14.04 and put a package in the current directory called python-local-3.5.2-1.deb
docker run -e 'BUILD_PACKAGE=python' -e 'BUILD_VERSION=3.5.2' -e 'BUILD_ITERATION=1' -v `pwd`:/mnt/shared colinhoglund/fpm:ubuntu-trusty
./build.sh ubuntu/trusty/Dockerfile
Reference existing Dockerfiles and build scripts to get an idea of how packaging works with docker-fpm. All new Dockerfiles/build_scripts should be included in the Travis CI configuration. Two things are needed for tests to work.
Add a space delimited list of TEST_VERSIONS to the build script (example)
# TEST_VERSIONS: 2.7.12 3.5.2
Update Travis CI build matrix using the build.sh script and commit the updated .travis.yml
./build.sh --travis