#10 support docker build image for production.

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu 2016-04-11 16:38:59 +08:00
parent d12a27c9d9
commit 2bf88e4a4f
5 changed files with 27 additions and 11 deletions

4
.gitignore vendored
View File

@ -25,8 +25,10 @@ _testmain.go
gin-bin
key.pem
config.yaml
config.yml
bin/*
.DS_Store
coverage.out
gopush/log/*.log
build.tar.gz
gopush.tar.gz

View File

@ -5,6 +5,7 @@ VERSION=0.0.1
DEPS := $(wildcard *.go)
BUILD_IMAGE := "appleboy/gopush-build:latest"
TEST_IMAGE := "appleboy/gopush-testing:latest"
PRODUCTION_IMAGE := "appleboy/gopush"
all: build
@ -15,15 +16,14 @@ test:
cd gopush && go test -v -covermode=count -coverprofile=coverage.out
docker_build: clean
tar -zcvf build.tar.gz gopush.go gopush script
tar -zcvf build.tar.gz gopush.go gopush
docker build --rm -t $(BUILD_IMAGE) -f docker/Dockerfile.build .
docker run --rm $(BUILD_IMAGE) > bin.tar.gz
tar -zxvf bin.tar.gz
-rm -rf bin.tar.gz build.tar.gz
docker run --rm $(BUILD_IMAGE) > gopush.tar.gz
docker build --rm -t $(PRODUCTION_IMAGE) -f docker/Dockerfile.dist .
docker_test:
@docker build --rm -t $(TEST_IMAGE) -f docker/Dockerfile.testing .
@docker run --rm -e ANDROID_TEST_TOKEN=$(ANDROID_TEST_TOKEN) -e ANDROID_API_KEY=$(ANDROID_API_KEY) $(TEST_IMAGE) sh -c "cd gopush && go test -v"
clean:
rm -rf build.tar.gz bin.tar.gz bin/*
-rm -rf build.tar.gz gopush.tar.gz bin/*

View File

@ -11,8 +11,8 @@ api:
stat_go_uri: "/api/status"
android:
enabled: false
apikey: ""
enabled: true
apikey: "YOUR_API_KEY"
ios:
enabled: false

View File

@ -1,11 +1,12 @@
FROM golang:1.6
FROM golang:1.6-alpine
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
RUN apk --update add git
RUN mkdir -p /tmp/build
Add build.tar.gz /tmp/build/
WORKDIR /tmp/build
RUN go get -v -d
RUN sh script/build.sh
RUN GOOS=linux GOARCH=amd64 go build -ldflags="-w" -o bin/gopush gopush.go
CMD tar -czf - bin
CMD tar -C bin -czf - gopush

13
docker/Dockerfile.dist Normal file
View File

@ -0,0 +1,13 @@
FROM alpine
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
RUN apk update && apk upgrade \
&& apk add ca-certificates \
&& rm -rf /var/cache/apk/*
RUN mkdir /app
ADD gopush.tar.gz /app/
WORKDIR /app
ENTRYPOINT ["./gopush", "-c", "config/config.yml"]
EXPOSE 8088