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