diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..eb87e9c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM gcr.io/distroless/base-debian11 AS base + +COPY bin/app/cmd /cmd + +CMD ["/cmd"] diff --git a/Makefile b/Makefile index 314616d..fe79f2c 100644 --- a/Makefile +++ b/Makefile @@ -63,3 +63,17 @@ bin/protoc-gen-go-grpc: go.mod bin/protoc-gen-grpc-gateway: go.mod go build -o $@ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway + + +# build +.PHONY: dc.image +dc.image: dc.build + $(DOCKER_COMPOSE) build --force-rm image + +.PHONY: dc.build +dc.build: + $(DOCKER_COMPOSE) run --rm build + +build: + mkdir -p ./bin/app + go build -o ./bin/app/cmd ./cmd/main.go diff --git a/bin/app/cmd b/bin/app/cmd new file mode 100755 index 0000000..5a62628 Binary files /dev/null and b/bin/app/cmd differ diff --git a/docker-compose.yaml b/docker-compose.yaml index 3601005..d4a634a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -39,3 +39,21 @@ services: command: - make - lint + + build: + <<: *common-build + command: + - make + - build + + api: + image: tsw303005/blog-server:latest + environment: + <<: *common-env + API_SEVER_ADDR: api:8081 + command: + - /cmd + - api + - api + depends_on: + - mongo \ No newline at end of file