-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
52 lines (52 loc) · 2.6 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
language: bash
sudo: required
services:
- docker
before_install:
- uname -a
- cat /etc/os-release
- lsb_release -a
- MOSQUITTO_VERSION=$(cat version.txt)
- echo $MOSQUITTO_VERSION
- export MOSQUITTO_VERSION=$MOSQUITTO_VERSION
# Determine number of CPU cores available
- nproc
# Display default Docker version
- docker --version
- docker build --help
# Switch to a Docker version that understands "docker build --volume" syntax for qemu to work!
# Only Docker 17.04-dev has the correct "docker build --volume" flag!
# The "docker build --volume" is needed for qemu to work and build ARM on i386 via Travis
# A Docker downgrade is needed:
- sudo apt-get update
- sudo apt-get install -y wget git
- sudo apt-get remove docker-ce
# Add specific Docker repo for version 17.04.0~dev~git20170712.145042.0.7d584ad-0~ubuntu-trusty
- echo "deb [arch=amd64 trusted=yes] http://ftp.unicamp.br/pub/linuxpatch/ubuntu/14_04/misc/docker-17.04.0-ce-amd64/ trusty main" | sudo tee /etc/apt/sources.list.d/docker-engine.list
- cat /etc/apt/sources.list.d/docker-engine.list
- ls -alFh /etc/apt/sources.list.d/ | grep docker
# We need a source that has package "libsystemd-journal0" that is needed by old docker-engine 17.04-dev
- sudo echo "deb http://cz.archive.ubuntu.com/ubuntu trusty main" >> /etc/apt/sources.list
- sudo apt-get update
- apt-cache show docker-engine | grep Version
- apt-cache show libsystemd-journal0 | grep Version
- sudo apt-get install -y --allow-unauthenticated libsystemd-journal0
- sudo apt-get install -y --allow-unauthenticated docker-engine=17.04.0~dev~git20170712.145042.0.7d584ad-0~ubuntu-trusty
# Display current Docker version: It needs to be 17.04-dev to work for an ARM (Raspberry Pi) compile in x86 Travis
- docker --version
- docker build --help
# Use qemu to build arm32v7 for Raspberry Pi using Travis CI on x86_64 in the cloud!
- docker run --rm --privileged multiarch/qemu-user-static:register
- wget https://github.com/multiarch/qemu-user-static/releases/download/v2.9.1/qemu-arm-static.tar.gz -O /tmp/qemu-arm-static.tar.gz
- tar zxvf /tmp/qemu-arm-static.tar.gz -C /tmp
# Build ARM Docker image using the qemu volume to allow ARM to build on X86_64 for Raspberry Pi 3
- docker build --volume type=bind,source=/tmp/qemu-arm-static,target=/usr/bin/qemu-arm-static --build-arg MOSQUITTO_VERSION=$MOSQUITTO_VERSION -t ernestgwilsonii/docker-raspberry-pi-mosquitto:$MOSQUITTO_VERSION -f Dockerfile.armhf .
install: true
before_script: true
script: docker images
after_script: true
deploy:
provider: script
script: bash docker_push.sh
on:
branch: master