This repo provides a Clear Linux* container for running the Mixer CI on Travis. This container has all of the packages and tools installed to build Mixer from source and run its test suite.
docker build -t clearlinux/mixer-ci .
If you are behind a firewall, you may need to pass proxy settings to the build environment:
--build-arg https_proxy="$https_proxy"
--build-arg http_proxy="$http_proxy"
--build-arg no_proxy="$no_proxy"
flags to docker build; note these only impact the Build Environment and will not become part of the image being built.
docker pull clearlinux/mixer-ci
This image creates a container with a user named clr
, with the GOPATH
in
/home/clr/go
.
Create a Dockerfile
based on this mixer-ci
image. In this Dockerfile
, copy
the source code into the mixer-tools
package root within the GOPATH
,
then execute the build and test steps. An example Dockerfile
is as follows:
FROM clearlinux/mixer-ci:latest
COPY --chown=clr:clr . /home/clr/go/src/github.com/clearlinux/mixer-tools/
WORKDIR /home/clr/go/src/github.com/clearlinux/mixer-tools
ENTRYPOINT ["/bin/sh", "-c", "make && sudo -E make install && make lint && make check"]
You can inspect Mixer's Dockerfile to see how this is used in production.
In your Travis config (.travis.yml
), build and run your above Dockerfile
. An
example .travis.yml
file is as follows:
language: go
sudo: required
go:
- 1.9
go_import_path: github.com/clearlinux/mixer-tools
services:
- docker
before_install:
- docker build -t testdock .
script:
- docker run testdock
You can inspect Mixer's Travis config to see how this is used in production. For more information on Travis configuration, see the Travis documentation.