From 92de84393bad79d3f387d5b9b2ad4326b0f38e9c Mon Sep 17 00:00:00 2001 From: Alexander Pashchenko Date: Tue, 15 Dec 2020 11:52:33 +0300 Subject: [PATCH 1/2] makefile upgrade --- Dockerfile.development | 4 ---- Makefile | 26 ++++++++++++++++++++++---- docker-compose.yml | 2 +- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Dockerfile.development b/Dockerfile.development index ca0369c..6c83be2 100644 --- a/Dockerfile.development +++ b/Dockerfile.development @@ -11,7 +11,3 @@ COPY go.sum . RUN go mod download COPY . . - -RUN go build ./cmd/pososyamba_bot/main.go - -CMD [ "./main" ] diff --git a/Makefile b/Makefile index c14599d..db5d91b 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,26 @@ -run_development: - docker-compose run --rm bot bash +DOCKER_COMPOSE_RUN=docker-compose run bot -build: Dockerfile +build_image: Dockerfile docker build --rm -f "Dockerfile" -t thesunwave/pososyamba:latest . -run: +run: build_image docker run --env-file .env.development pososyamba:latest + +clean: + rm -f ./main + +build_container: + docker-compose build + +build_devel: build_container + ${DOCKER_COMPOSE_RUN} "go build /application/cmd/pososyamba_bot/main.go" + chmod a+x ./main + +up: build_devel + docker-compose up + +down: + docker-compose down + +sh: + ${DOCKER_COMPOSE_RUN} /bin/bash -l diff --git a/docker-compose.yml b/docker-compose.yml index bd2e670..d18e0ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,7 @@ services: build: context: . dockerfile: Dockerfile.development - command: sh -c "go build /application/cmd/pososyamba_bot/main.go && /application/main" + command: /application/main depends_on: - redis env_file: From 7e29b63446718600497a108a06bf80f47848a246 Mon Sep 17 00:00:00 2001 From: Alexander Pashchenko Date: Wed, 16 Dec 2020 18:10:59 +0300 Subject: [PATCH 2/2] ignore temporary files and so on Add compability between user inside and outside of container Optimize paths Optimize tasks --- .gitignore | 2 ++ Dockerfile.development | 3 +++ Makefile | 24 ++++++++++++++---------- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 2d26378..9e57a0c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ .idea .env .env.* +.cache/ +vendor/ !.env.sample config/config.yml diff --git a/Dockerfile.development b/Dockerfile.development index 6c83be2..ebd17ec 100644 --- a/Dockerfile.development +++ b/Dockerfile.development @@ -1,5 +1,8 @@ FROM golang:1.13-alpine AS pososyamba +ENV GOPATH /application/vendor +ENV HOME /application + WORKDIR /application RUN apk update && apk upgrade && \ diff --git a/Makefile b/Makefile index db5d91b..91b792b 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,23 @@ -DOCKER_COMPOSE_RUN=docker-compose run bot - -build_image: Dockerfile +UID=$(shell id -u) +USRENAME=`id -un` +USER_PARAM=--user $(shell id -u):$(shell id -g) +APP_VOLUME_PARAM=-v `pwd`/.:/application +APP_PORT_PARAM=-p 80:3000/tcp +CONTAINER_NAME=thesunwave/pososyamba:latest +DOCKER_RUN=docker run -it ${USER_PARAM} ${APP_VOLUME_PARAM} ${APP_PORT_PARAM} ${CONTAINER_NAME} +DOCKER_COMPOSE_RUN=docker-compose run ${USER_PARAM} bot + +build_prod: Dockerfile docker build --rm -f "Dockerfile" -t thesunwave/pososyamba:latest . -run: build_image - docker run --env-file .env.development pososyamba:latest +run_prod: build_image + ${DOCKER_RUN}--env-file .env.development clean: rm -f ./main -build_container: - docker-compose build - -build_devel: build_container - ${DOCKER_COMPOSE_RUN} "go build /application/cmd/pososyamba_bot/main.go" +build_devel: clean + ${DOCKER_COMPOSE_RUN} /bin/sh -c "go build -work /application/cmd/pososyamba_bot/main.go" chmod a+x ./main up: build_devel