.travis.yml: create multi arch image and docker manifest

Now you can just pull the image from an arm64 (armV8), arm(armV7) or amd64 architecture without specifying any tag.
pull/3/head
leonnicolas 4 years ago
parent f9ec2419ab
commit 553d4da0ec
No known key found for this signature in database
GPG Key ID: 088D0743E2B65C07

@ -7,6 +7,16 @@ services:
script: script:
- docker login -u="$DOCKER_USER" -p="$DOCKER_PW" https://flotte-docker-registry.spdns.org/ - docker login -u="$DOCKER_USER" -p="$DOCKER_PW" https://flotte-docker-registry.spdns.org/
- docker build -t frontend-server . - docker build -t frontend-server:amd64 . --build-arg ARCH=amd64
- docker tag frontend-server flotte-docker-registry.spdns.org/frontend-server - docker build -t frontend-server:arm . --build-arg ARCH=arm
- docker push flotte-docker-registry.spdns.org/frontend-server:latest - docker build -t frontend-server:arm64 . --build-arg ARCH=arm64
- docker tag frontend-server:amd64 flotte-docker-registry.spdns.org/frontend-server:amd64
- docker push flotte-docker-registry.spdns.org/frontend-server:amd64
- docker tag frontend-server flotte-docker-registry.spdns.org/frontend-server:arm64
- docker push flotte-docker-registry.spdns.org/frontend-server:arm64
- docker tag frontend-server flotte-docker-registry.spdns.org/frontend-server:arm
- docker push flotte-docker-registry.spdns.org/frontend-server:arm
- docker manifest create --amend flotte-docker-registry.spdns.org/frontend-server:latest flotte-docker-registry.spdns.org/frontend-server:arm flotte-docker-registry.spdns.org/frontend-server:arm64 flotte-docker-registry.spdns.org/frontend-server:amd64
- docker manifest annotate flotte-docker-registry.spdns.org/frontend-server:latest flotte-docker-registry.spdns.org/frontend-server:arm --os linux --arch arm --variant v7
- docker manifest annotate flotte-docker-registry.spdns.org/frontend-server:latest flotte-docker-registry.spdns.org/frontend-server:arm64 --os linux --arch arm64 --variant v8
- docker manifest push flotte-docker-registry.spdns.org/frontend-server:latest

@ -9,6 +9,7 @@ COPY . .
RUN ng build --prod --crossOrigin=anonymous RUN ng build --prod --crossOrigin=anonymous
FROM golang:1.13.4-alpine as builder2 FROM golang:1.13.4-alpine as builder2
ENV ARCH=amd64
RUN apk add git RUN apk add git
WORKDIR / WORKDIR /
COPY --from=builder /frontend/dist /dist COPY --from=builder /frontend/dist /dist
@ -16,7 +17,7 @@ RUN go get github.com/rakyll/statik
RUN statik --src=/dist/flotte-frontend RUN statik --src=/dist/flotte-frontend
COPY *.go *.sum *.mod / COPY *.go *.sum *.mod /
COPY vendor /vendor COPY vendor /vendor
RUN CGO_ENABLED=0 GOOS=linux go build --mod=vendor -o frontend_server RUN CGO_ENABLED=0 GOARCH=$ARCH GOOS=linux go build --mod=vendor -o frontend_server
FROM scratch FROM scratch
WORKDIR / WORKDIR /

Loading…
Cancel
Save