mirror of https://github.com/statping/statping
docker archs
parent
86d9c5d364
commit
528ef967af
|
@ -336,10 +336,10 @@ jobs:
|
|||
files: |
|
||||
releases/statping-linux-386.tar.gz
|
||||
releases/statping-linux-amd64.tar.gz
|
||||
releases/statping-linux-arm.tar.gz
|
||||
releases/statping-linux-arm64.tar.gz
|
||||
releases/statping-linux-arm-7.tar.gz
|
||||
releases/statping-linux-arm-6.tar.gz
|
||||
releases/statping-linux-arm-5.tar.gz
|
||||
|
||||
- name: Upload MaxOSX Release
|
||||
id: upload-darwin-asset
|
||||
|
@ -389,19 +389,8 @@ jobs:
|
|||
dockerfile: Dockerfile.base
|
||||
tags: "base"
|
||||
|
||||
- name: Latest/Version Docker Image
|
||||
uses: elgohr/Publish-Docker-Github-Action@master
|
||||
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
|
||||
- name: Release Docker images
|
||||
run: make docker-manifest
|
||||
|
||||
sentry-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
|
||||
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/
|
||||
COPY --from=base /usr/local/bin/sass /usr/local/bin/
|
||||
COPY --from=base /usr/local/share/ca-certificates /usr/local/share/
|
||||
RUN apk --no-cache add curl jq
|
||||
|
||||
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
|
||||
VOLUME /app
|
||||
|
||||
ENV IS_DOCKER=true
|
||||
ENV SASS=/usr/local/bin/sass
|
||||
ENV STATPING_DIR=/app
|
||||
ENV PORT=8080
|
||||
ENV STATPING_DIR=/app
|
||||
|
||||
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
|
||||
|
|
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
|
||||
PATH:=/usr/local/bin:$(GOPATH)/bin:$(PATH)
|
||||
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
|
||||
|
||||
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 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
|
||||
|
||||
# update the homebrew application to latest for mac
|
||||
|
|
Loading…
Reference in New Issue