The Travis-CI build environment for Kamailio is based on docker containers, so it can be easily reproducible by any developer of the project on local systems.
The default used container is built at docker hub and it is a Debian Stretch based image done with the following DockerFile
Same steps defined at .travis.yml:
- Choose the compiler to be used by setting the variable
CC
togcc
orclang
- Choose version and distribution setting
VERSION
andDIST
$ export DIST=stretch VERSION=dev
$ docker pull kamailio/pkg-kamailio-docker:${VERSION}-${DIST}
$ docker run \
-v $(pwd):/code:rw linuxmaniac/pkg-kamailio-docker:${VERSION}-${DIST} \
/bin/bash -c "export CC=gcc; cd /code; ./test/travis/build_travis.sh"
One can always login inside the container and build everything manually
$ docker run \
-v $(pwd):/code:rw kamailio/pkg-kamailio-docker:${VERSION}-${DIST} \
/bin/bash -c "cd /code; make -f debian/rules clean; rm -rf debian"
$ docker run -i -t \
-v $(pwd):/code:rw kamailio/pkg-kamailio-docker:${VERSION}-${DIST} /bin/bash
There are several container images available already. One can just use any of the them by selecting the proper tag:
$ export DIST=sid VERSION=dev
$ docker pull kamailio/pkg-kamailio-docker:${VERSION}-${DIST}
$ docker run \
-v $(pwd):/code:rw kamailio/pkg-kamailio-docker:${VERSION}-${DIST} \
/bin/bash -c "export CC=$CC; cd /code; DIST=$DIST ./test/travis/build_travis.sh"
- tests inside the docker container