-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path.travis.yml
67 lines (59 loc) · 2.21 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
sudo: required
services:
- docker
addons:
apt:
packages:
- docker-ce
install: skip
jobs:
include:
- &deploy-stage
stage: build and deploy
script:
# set up the base image
- sed -i "s#^FROM .*#FROM ${DOCKER_FROM}#" Dockerfile
# setup QEMU
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
# build
- docker build -t prometheus:$DOCKER_TAG -f Dockerfile --build-arg ARCH=$DOCKER_ARCH --build-arg VERSION=$PROMETHEUS_VERSION .
# test
- docker run --rm prometheus:$DOCKER_TAG --version
after_success:
- |
echo ${DOCKER_PASSWORD} | docker login --username "rycus86" --password-stdin
if [ "$TRAVIS_BRANCH" == "master" ]; then
docker tag prometheus:$DOCKER_TAG rycus86/prometheus:$DOCKER_TAG
docker push rycus86/prometheus:$DOCKER_TAG
elif [ "$TRAVIS_BRANCH" == "$PROMETHEUS_VERSION" ]; then
docker tag prometheus:$DOCKER_TAG rycus86/prometheus:$PROMETHEUS_VERSION-$DOCKER_TAG
docker push rycus86/prometheus:$PROMETHEUS_VERSION-$DOCKER_TAG
fi
env:
- DOCKER_TAG=amd64
- DOCKER_ARCH=amd64
- DOCKER_FROM=alpine:latest
- <<: *deploy-stage
env:
- DOCKER_TAG=armhf
- DOCKER_ARCH=armv7
- DOCKER_FROM=rycus86/armhf-alpine-qemu
- <<: *deploy-stage
env:
- DOCKER_TAG=aarch64
- DOCKER_ARCH=arm64
- DOCKER_FROM=rycus86/arm64v8-alpine-qemu
- stage: manifest
script:
- |
if [ "$TRAVIS_BRANCH" == "$PROMETHEUS_VERSION" ]; then
sed -i "s#rycus86/prometheus:#rycus86/prometheus:${PROMETHEUS_VERSION}-#" manifest.yml
sed -i "s#rycus86/prometheus:${PROMETHEUS_VERSION}-latest#rycus86/prometheus:${PROMETHEUS_VERSION}#" manifest.yml
fi
- echo ${DOCKER_PASSWORD} | docker login --username "rycus86" --password-stdin
- curl -fsSL https://github.com/estesp/manifest-tool/releases/download/v0.7.0/manifest-tool-linux-amd64 > ./manifest-tool
- chmod +x ./manifest-tool
- ./manifest-tool push from-spec manifest.yml
env:
global:
- PROMETHEUS_VERSION=2.7.1