Skip to content

Latest commit

 

History

History

mixer-ci

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Mixer CI Container

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.

Build

Building Locally

docker build -t clearlinux/mixer-ci .

Note:

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.

Pulling from Dockerhub

docker pull clearlinux/mixer-ci

Use

Create a derivative Dockerfile

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"]

Note:

You can inspect Mixer's Dockerfile to see how this is used in production.

Configure Travis to build and run the Dockerfile

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

Note:

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.