Use fpm inside Docker containers to easily build various OS packages.
Pre-built images can be pulled from hub.docker.com.
The containers allow you to mount a directory of build scripts into the container and specify which script to run.
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-2.7.14-1.deb
docker run -v "$(pwd)"/build_scripts:/opt/build_scripts -v $(pwd):/mnt/shared -e BUILD_SCRIPT=build_python -e BUILD_VERSION=2.7.14 -e BUILD_ITERATION=1 bionic-fpm
./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