aboutsummaryrefslogtreecommitdiff
path: root/.circleci
diff options
context:
space:
mode:
authorJohannes Würbach <johannes.wuerbach@googlemail.com>2019-04-15 17:36:25 +0200
committerBen Kochie <superq@gmail.com>2019-04-15 17:36:25 +0200
commit4e5c4d464fa67e9cdfd9858d2151bc99603b2bff (patch)
tree2036049ad82104e2e1f45ff791a15e77a0e7ad8a /.circleci
parente71e9f5a2fea95f19f7740c8c97861bb6ef94337 (diff)
downloadprometheus_node_collector-4e5c4d464fa67e9cdfd9858d2151bc99603b2bff.tar.bz2
prometheus_node_collector-4e5c4d464fa67e9cdfd9858d2151bc99603b2bff.tar.xz
prometheus_node_collector-4e5c4d464fa67e9cdfd9858d2151bc99603b2bff.zip
Docker images for ARM32v7, ARM64v8 and ppc64le (#1207)
Build and publish ARM32v7, ARM64v8 and ppc64le docker images. Signed-off-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/config.yml27
1 files changed, 19 insertions, 8 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 1c958d5..9b81ce0 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -31,7 +31,8 @@ jobs:
31 - run: codespell --skip=".git,./vendor,ttar,go.mod,go.sum" -L uint 31 - run: codespell --skip=".git,./vendor,ttar,go.mod,go.sum" -L uint
32 32
33 build: 33 build:
34 machine: true 34 machine:
35 image: ubuntu-1604:201903-01
35 36
36 environment: 37 environment:
37 DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.11-base 38 DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.11-base
@@ -39,6 +40,7 @@ jobs:
39 40
40 steps: 41 steps:
41 - checkout 42 - checkout
43 - run: docker run --privileged linuxkit/binfmt:v0.6
42 - run: make promu 44 - run: make promu
43 - run: promu crossbuild 45 - run: promu crossbuild
44 - run: promu --config .promu-cgo.yml crossbuild 46 - run: promu --config .promu-cgo.yml crossbuild
@@ -49,7 +51,6 @@ jobs:
49 - store_artifacts: 51 - store_artifacts:
50 path: .build 52 path: .build
51 destination: /build 53 destination: /build
52 - run: ln -s .build/linux-amd64/node_exporter node_exporter
53 - run: 54 - run:
54 command: | 55 command: |
55 if [ -n "$CIRCLE_TAG" ]; then 56 if [ -n "$CIRCLE_TAG" ]; then
@@ -72,10 +73,11 @@ jobs:
72 73
73 steps: 74 steps:
74 - checkout 75 - checkout
75 - setup_remote_docker 76 - setup_remote_docker:
77 version: 18.06.0-ce
78 - run: docker run --privileged linuxkit/binfmt:v0.6
76 - attach_workspace: 79 - attach_workspace:
77 at: . 80 at: .
78 - run: ln -s .build/linux-amd64/node_exporter node_exporter
79 - run: make docker 81 - run: make docker
80 - run: make docker DOCKER_REPO=quay.io/prometheus 82 - run: make docker DOCKER_REPO=quay.io/prometheus
81 - run: docker images 83 - run: docker images
@@ -83,13 +85,17 @@ jobs:
83 - run: docker login -u $QUAY_LOGIN -p $QUAY_PASSWORD quay.io 85 - run: docker login -u $QUAY_LOGIN -p $QUAY_PASSWORD quay.io
84 - run: make docker-publish 86 - run: make docker-publish
85 - run: make docker-publish DOCKER_REPO=quay.io/prometheus 87 - run: make docker-publish DOCKER_REPO=quay.io/prometheus
88 - run: make docker-manifest
89 - run: make docker-manifest DOCKER_REPO=quay.io/prometheus
86 90
87 docker_hub_release_tags: 91 docker_hub_release_tags:
88 executor: golang 92 executor: golang
89 93
90 steps: 94 steps:
91 - checkout 95 - checkout
92 - setup_remote_docker 96 - setup_remote_docker:
97 version: 18.06.0-ce
98 - run: docker run --privileged linuxkit/binfmt:v0.6
93 - run: mkdir -v -p ${HOME}/bin 99 - run: mkdir -v -p ${HOME}/bin
94 - run: curl -L 'https://github.com/aktau/github-release/releases/download/v0.7.2/linux-amd64-github-release.tar.bz2' | tar xvjf - --strip-components 3 -C ${HOME}/bin 100 - run: curl -L 'https://github.com/aktau/github-release/releases/download/v0.7.2/linux-amd64-github-release.tar.bz2' | tar xvjf - --strip-components 3 -C ${HOME}/bin
95 - run: echo 'export PATH=${HOME}/bin:${PATH}' >> ${BASH_ENV} 101 - run: echo 'export PATH=${HOME}/bin:${PATH}' >> ${BASH_ENV}
@@ -102,18 +108,23 @@ jobs:
102 - store_artifacts: 108 - store_artifacts:
103 path: .tarballs 109 path: .tarballs
104 destination: releases 110 destination: releases
105 - run: ln -s .build/linux-amd64/node_exporter node_exporter
106 - run: make docker DOCKER_IMAGE_TAG=$CIRCLE_TAG 111 - run: make docker DOCKER_IMAGE_TAG=$CIRCLE_TAG
107 - run: make docker DOCKER_IMAGE_TAG=$CIRCLE_TAG DOCKER_REPO=quay.io/prometheus 112 - run: make docker DOCKER_IMAGE_TAG=$CIRCLE_TAG DOCKER_REPO=quay.io/prometheus
108 - run: docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD 113 - run: docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
109 - run: docker login -u $QUAY_LOGIN -p $QUAY_PASSWORD quay.io 114 - run: docker login -u $QUAY_LOGIN -p $QUAY_PASSWORD quay.io
115 - run: make docker-publish DOCKER_IMAGE_TAG="$CIRCLE_TAG"
116 - run: make docker-publish DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus
117 - run: make docker-manifest DOCKER_IMAGE_TAG="$CIRCLE_TAG"
118 - run: make docker-manifest DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus
110 - run: | 119 - run: |
111 if [[ "$CIRCLE_TAG" =~ ^v[0-9]+(\.[0-9]+){2}$ ]]; then 120 if [[ "$CIRCLE_TAG" =~ ^v[0-9]+(\.[0-9]+){2}$ ]]; then
112 make docker-tag-latest DOCKER_IMAGE_TAG="$CIRCLE_TAG" 121 make docker-tag-latest DOCKER_IMAGE_TAG="$CIRCLE_TAG"
113 make docker-tag-latest DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus 122 make docker-tag-latest DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus
123 make docker-publish DOCKER_IMAGE_TAG="latest"
124 make docker-publish DOCKER_IMAGE_TAG="latest" DOCKER_REPO=quay.io/prometheus
125 make docker-manifest DOCKER_IMAGE_TAG="latest"
126 make docker-manifest DOCKER_IMAGE_TAG="latest" DOCKER_REPO=quay.io/prometheus
114 fi 127 fi
115 - run: make docker-publish
116 - run: make docker-publish DOCKER_REPO=quay.io/prometheus
117 128
118workflows: 129workflows:
119 version: 2 130 version: 2