docker buildx

pull/744/head
hunterlong 2020-07-13 14:36:18 -07:00
parent de63393133
commit 2be9564fff
5 changed files with 21 additions and 24 deletions

View File

@ -327,8 +327,4 @@ jobs:
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
- name: Docker Buildx (push)
run: |
docker buildx create --use
docker buildx build --file=Dockerfile.base --tag=statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=NODEIMAGE=node:10.17.0-alpine --platform=linux/arm64,linux/amd64,linux/arm/v7 --output type=image,name=docker.io/statping/statping,push=false --no-cache .
docker buildx build --file=Dockerfile.base --tag=statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=NODEIMAGE=i386/node:10.17.0-alpine --platform=linux/386 --output type=image,name=docker.io/statping/statping,push=false --no-cache .
docker buildx build --tag=statping/statping:dev --build-arg=VERSION=${VERSION} --platform=linux/amd64,linux/386,linux/arm64,linux/arm/v7 --output type=image,name=docker.io/statping/statping,push=true .
run: make buildx-dev

View File

@ -427,11 +427,7 @@ jobs:
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
- name: Docker Buildx (push)
run: |
docker buildx create --use
docker buildx build --file=Dockerfile.base --tag=statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=NODEIMAGE=node:10.17.0-alpine --platform=linux/arm64,linux/amd64,linux/arm/v7 --output type=image,name=docker.io/statping/statping,push=true --no-cache .
docker buildx build --file=Dockerfile.base --tag=statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=NODEIMAGE=i386/node:10.17.0-alpine --platform=linux/386 --output type=image,name=docker.io/statping/statping,push=true --no-cache .
docker buildx build --tag=statping/statping:latest --tag=statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} --platform=linux/amd64,linux/386,linux/arm64,linux/arm/v7 --output type=image,name=docker.io/statping/statping,push=true .
run: make buildx-master
sentry-release:
needs: upload-release

View File

@ -1,5 +1,5 @@
ARG NODEIMAGE=node:10.17.0-alpine
FROM --platform=$BUILDPLATFORM $NODEIMAGE AS frontend
FROM node:10.17.0-alpine AS frontend
LABEL maintainer="Hunter Long (https://github.com/hunterlong)"
ARG BUILDPLATFORM
RUN npm install yarn -g
@ -12,7 +12,7 @@ RUN yarn build && yarn cache clean
# Statping Golang BACKEND building from source
# Creates "/go/bin/statping" and "/usr/local/bin/sass" for copying
FROM --platform=$BUILDPLATFORM golang:1.14-alpine AS backend
FROM golang:1.14-alpine AS backend
LABEL maintainer="Hunter Long (https://github.com/hunterlong)"
ARG VERSION
ARG BUILDPLATFORM

View File

@ -332,20 +332,26 @@ certs:
-keyout key.pem \
-subj "/C=US/ST=California/L=Santa Monica/O=Statping/OU=Development/CN=localhost"
buildx-master:
docker buildx create --name statping-master
docker buildx use statping-master
docker buildx build --tag=statping/statping:latest --tag=statping/statping:v${VERSION} --tag=statping/statping:dev --build-arg=VERSION=${VERSION} --platform=linux/amd64,linux/386,linux/arm64,linux/arm/v7 --push --driver=docker-container .
buildx-master: buildx-base
docker buildx create --name statping-latest
docker buildx inspect --builder statping-latest --bootstrap
docker buildx build --builder statping-latest --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7 -f Dockerfile -t statping/statping:latest -t statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} .
docker buildx rm statping-latest
buildx-dev:
buildx-dev: buildx-base
docker buildx create --name statping-dev
docker buildx use statping-dev
docker buildx build --tag=statping/statping:dev --build-arg=VERSION=${VERSION} --platform=linux/amd64,linux/386,linux/arm64,linux/arm/v7 --push --driver=docker-container .
docker buildx inspect --builder statping-dev --bootstrap
docker buildx build --builder statping-dev --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7 -f Dockerfile -t statping/statping:dev --build-arg=VERSION=${VERSION} .
docker buildx rm statping-dev
buildx-base:
buildx-base: multiarch
docker buildx create --name statping-base
docker buildx use statping-base
docker buildx build --file=Dockerfile.base --tag=statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=NODEIMAGE=node:${NODE_VERSION}-alpine --platform=linux/amd64,linux/arm/v7,linux/arm64 --push --driver=docker-container .
docker buildx inspect --builder statping-base --bootstrap
docker buildx build --builder statping-base --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7 -f Dockerfile.base -t statping/statping:base --build-arg=VERSION=${VERSION} .
docker buildx rm statping-base
.PHONY: all build build-all buildx-base buildx-dev buildx-master build-alpine test-all test test-api docker frontend up down print_details lite sentry-release snapcraft build-linux build-mac build-win build-all postman
multiarch:
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
.PHONY: all build multiarch build-all buildx-base buildx-dev buildx-master build-alpine test-all test test-api docker frontend up down print_details lite sentry-release snapcraft build-linux build-mac build-win build-all postman
.SILENT: travis_s3_creds

View File

@ -64,7 +64,6 @@
"compression-webpack-plugin": "~2.0",
"cross-env": "^7.0.2",
"css-loader": "~2.1",
"cypress": "^4.3.0",
"eslint": "~5.16",
"eslint-config-standard": "~10.2",
"eslint-friendly-formatter": "~3.0",