mirror of https://github.com/statping/statping
docker archs
parent
86d9c5d364
commit
528ef967af
|
@ -336,10 +336,10 @@ jobs:
|
||||||
files: |
|
files: |
|
||||||
releases/statping-linux-386.tar.gz
|
releases/statping-linux-386.tar.gz
|
||||||
releases/statping-linux-amd64.tar.gz
|
releases/statping-linux-amd64.tar.gz
|
||||||
releases/statping-linux-arm.tar.gz
|
|
||||||
releases/statping-linux-arm64.tar.gz
|
releases/statping-linux-arm64.tar.gz
|
||||||
releases/statping-linux-arm-7.tar.gz
|
releases/statping-linux-arm-7.tar.gz
|
||||||
releases/statping-linux-arm-6.tar.gz
|
releases/statping-linux-arm-6.tar.gz
|
||||||
|
releases/statping-linux-arm-5.tar.gz
|
||||||
|
|
||||||
- name: Upload MaxOSX Release
|
- name: Upload MaxOSX Release
|
||||||
id: upload-darwin-asset
|
id: upload-darwin-asset
|
||||||
|
@ -389,19 +389,8 @@ jobs:
|
||||||
dockerfile: Dockerfile.base
|
dockerfile: Dockerfile.base
|
||||||
tags: "base"
|
tags: "base"
|
||||||
|
|
||||||
- name: Latest/Version Docker Image
|
- name: Release Docker images
|
||||||
uses: elgohr/Publish-Docker-Github-Action@master
|
run: make docker-manifest
|
||||||
env:
|
|
||||||
VERSION: ${{ env.VERSION }}
|
|
||||||
ARCH: amd64
|
|
||||||
DOCKER_CLI_EXPERIMENTAL: enabled
|
|
||||||
with:
|
|
||||||
name: statping/statping
|
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
tags: "latest,v${{ env.VERSION }}"
|
|
||||||
buildargs: VERSION,ARCH
|
|
||||||
|
|
||||||
sentry-release:
|
sentry-release:
|
||||||
needs: upload-release
|
needs: upload-release
|
||||||
|
|
24
Dockerfile
24
Dockerfile
|
@ -1,22 +1,24 @@
|
||||||
FROM statping/statping:base AS base
|
|
||||||
|
|
||||||
# Statping main Docker image that contains all required libraries
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
RUN apk --no-cache add libgcc libstdc++ ca-certificates curl jq && update-ca-certificates
|
MAINTAINER "Hunter Long (https://github.com/hunterlong)"
|
||||||
|
ARG VERSION
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
COPY --from=base /go/bin/statping /usr/local/bin/
|
RUN apk --no-cache add curl jq
|
||||||
COPY --from=base /usr/local/bin/sass /usr/local/bin/
|
|
||||||
COPY --from=base /usr/local/share/ca-certificates /usr/local/share/
|
RUN curl -L -s https://assets.statping.com/sass -o /usr/local/bin/sass && \
|
||||||
|
chmod +x /usr/local/bin/sass
|
||||||
|
|
||||||
|
RUN curl -L -O https://github.com/statping/statping/releases/download/v$VERSION/statping-linux-$ARCH.tar.gz && \
|
||||||
|
tar -xzf statping-linux-$ARCH.tar.gz && mv statping /usr/local/bin/ && rm -f statping-linux-$ARCH.tar.gz
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
VOLUME /app
|
||||||
|
|
||||||
ENV IS_DOCKER=true
|
|
||||||
ENV SASS=/usr/local/bin/sass
|
|
||||||
ENV STATPING_DIR=/app
|
|
||||||
ENV PORT=8080
|
ENV PORT=8080
|
||||||
|
ENV STATPING_DIR=/app
|
||||||
|
|
||||||
EXPOSE $PORT
|
EXPOSE $PORT
|
||||||
|
|
||||||
HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD curl -s "http://localhost:$PORT/health" | jq -r -e ".online==true"
|
HEALTHCHECK --interval=30s --timeout=5s --retries=5 CMD curl -s "http://localhost:$PORT/health" | jq -r -e ".online==true"
|
||||||
|
|
||||||
CMD statping --port $PORT
|
CMD statping --port $PORT
|
||||||
|
|
27
Makefile
27
Makefile
|
@ -11,7 +11,7 @@ TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master
|
||||||
TEST_DIR=$(GOPATH)/src/github.com/statping/statping
|
TEST_DIR=$(GOPATH)/src/github.com/statping/statping
|
||||||
PATH:=/usr/local/bin:$(GOPATH)/bin:$(PATH)
|
PATH:=/usr/local/bin:$(GOPATH)/bin:$(PATH)
|
||||||
OS = freebsd linux openbsd
|
OS = freebsd linux openbsd
|
||||||
LINUX_ARCHS = 386 amd64 arm-7 arm-6 arm64 arm-5
|
LINUX_ARCHS = 386 amd64 arm-7 arm-6 arm64 a
|
||||||
BASIC_ARCHS = 386 amd64
|
BASIC_ARCHS = 386 amd64
|
||||||
|
|
||||||
all: clean yarn-install compile docker-base docker-vue build-all
|
all: clean yarn-install compile docker-base docker-vue build-all
|
||||||
|
@ -255,6 +255,31 @@ docker-build-dev:
|
||||||
docker build --build-arg VERSION=${VERSION} -t hunterlong/statping:latest --no-cache -f Dockerfile .
|
docker build --build-arg VERSION=${VERSION} -t hunterlong/statping:latest --no-cache -f Dockerfile .
|
||||||
docker tag hunterlong/statping:dev hunterlong/statping:dev-v${VERSION}
|
docker tag hunterlong/statping:dev hunterlong/statping:dev-v${VERSION}
|
||||||
|
|
||||||
|
docker:
|
||||||
|
@for arch in $(LINUX_ARCHS);\
|
||||||
|
do \
|
||||||
|
echo "Docker build v${VERSION} statping/statping:$$arch-latest"; \
|
||||||
|
docker build --build-arg VERSION=${VERSION} --build-arg ARCH=$$arch -t statping/statping:$$arch-latest --no-cache -f Dockerfile . > /dev/null; \
|
||||||
|
docker push statping/statping:$$arch-latest; \
|
||||||
|
done
|
||||||
|
|
||||||
|
docker-manifest: docker
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create statping/statping:latest \
|
||||||
|
--amend statping/statping:amd64-latest \
|
||||||
|
--amend statping/statping:386-latest \
|
||||||
|
--amend statping/statping:arm-5-latest \
|
||||||
|
--amend statping/statping:arm-6-latest \
|
||||||
|
--amend statping/statping:arm-7-latest \
|
||||||
|
--amend statping/statping:arm64-latest
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate statping/statping:latest statping/statping:amd64-latest --arch amd64 --os linux
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate statping/statping:latest statping/statping:386-latest --arch 386 --os linux
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate statping/statping:latest statping/statping:arm-5-latest --arch arm --variant v5 --os linux
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate statping/statping:latest statping/statping:arm-6-latest --arch arm --variant v6 --os linux
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate statping/statping:latest statping/statping:arm-7-latest --arch arm --variant v7 --os linux
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate statping/statping:latest statping/statping:arm64-latest --arch arm64 --variant v8 --os linux
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect statping/statping:latest
|
||||||
|
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push --purge statping/statping:latest
|
||||||
|
|
||||||
post-release: frontend-build upload_to_s3 publish-homebrew dockerhub
|
post-release: frontend-build upload_to_s3 publish-homebrew dockerhub
|
||||||
|
|
||||||
# update the homebrew application to latest for mac
|
# update the homebrew application to latest for mac
|
||||||
|
|
Loading…
Reference in New Issue