Skip to content

Commit e23d492

Browse files
refactor: TT-511 solve comments
1 parent 6a75533 commit e23d492

File tree

3 files changed

+43
-52
lines changed

3 files changed

+43
-52
lines changed

.dockerignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ dist
44
coverage
55
Makefile
66
.gitignore
7-
src/environments/keys.ts
8-
src/environments/.keys.json
7+
*keys.ts
8+
*.keys.json

Dockerfile

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ ENV HOME /home/${USERNAME}
66
RUN useradd -ms /bin/bash ${USERNAME}
77

88
WORKDIR ${HOME}/time-tracker-ui
9-
COPY [^.env]* . .
10-
RUN chown ${USERNAME}:${USERNAME} -R ${HOME}
9+
COPY . .
10+
RUN rm -f .env
11+
RUN chown ${USERNAME}:${USERNAME} -R ${HOME}/time-tracker-ui
1112

1213
USER ${USERNAME}
1314
RUN npm cache clean --force && npm install
@@ -17,23 +18,19 @@ CMD npm run config && ${HOME}/time-tracker-ui/node_modules/.bin/ng serve --host
1718

1819

1920

20-
FROM node:14 AS build
21-
22-
WORKDIR /usr/local/app
23-
COPY ./ /usr/local/app/
24-
25-
RUN npm install
21+
FROM development as build
22+
COPY .env .
2623
RUN npm run build
2724

2825

2926

3027
FROM nginx:1.21 AS production
3128

32-
ENV USERNAME nginx
29+
ENV USERNAME app
30+
RUN useradd -ms /bin/bash ${USERNAME}
3331

34-
COPY nginx.conf /etc/nginx/conf.d/
3532
COPY nginx.conf /etc/nginx/conf.d/default.conf
36-
COPY --from=build /usr/local/app/dist/time-tracker /usr/share/nginx/html
33+
COPY --from=build /home/timetracker/time-tracker-ui/dist/time-tracker /usr/share/nginx/html
3734

3835
RUN chown -R ${USERNAME}:${USERNAME} /var/cache/nginx && \
3936
chown -R ${USERNAME}:${USERNAME} /var/log/nginx && \

Makefile

Lines changed: 33 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,71 @@
1-
.PHONY: help
2-
help:
3-
@echo "---------------HELP-----------------"
4-
5-
@echo "- make build --> Create docker image with dependencies needed for development"
6-
@echo "- make run --> Execute timetracker_ui docker container"
7-
@echo "- make stop --> Stop container timetracker_ui"
8-
@echo "- make restart --> Restart container timetracker_ui"
9-
@echo "- make remove --> Delete container timetracker_ui"
10-
@echo "- make test --> Run all tests on docker container timetracker_ui"
11-
@echo "- make publish --> Publish the container image timetracker_ui"
12-
13-
@echo "- make build_prod --> Create docker image with dependencies needed for production"
14-
@echo "- make run_prod --> Execute timetracker_ui_prod docker container"
15-
@echo "- make remove_prod --> Delete container timetracker_ui_prod"
16-
@echo "- make publish_prod --> Publish the container image timetracker_ui_prod"
1+
override SHELL := /bin/bash
172

18-
@echo "- make login --> Login in respository of docker images"
19-
@echo "------------------------------------"
3+
.PHONY: help
4+
help: ## Show this help message.
5+
@echo 'Usage:'
6+
@echo ' make [target] ...'
7+
@echo
8+
@echo 'Targets:'
9+
@grep --no-filename -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
10+
sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
2011

2112
.PHONY: build
22-
build:
23-
-docker rmi timetracker_ui
13+
build: ## Create docker image with dependencies needed for development.
2414
docker-compose build
2515

16+
.PHONY: cleanup
17+
cleanup: ## Delete image timetracker_ui
18+
docker rmi timetracker_ui
19+
2620
.PHONY: run
27-
run:
21+
run: ## Execute timetracker_ui docker containe.
2822
docker-compose --env-file ./.env up -d
23+
24+
.PHONY: logs
25+
logs: ## Show logs of timetracker_ui.
2926
docker logs -f timetracker_ui
3027

3128
.PHONY: stop
32-
stop:
29+
stop: ## Stop container timetracker_ui.
3330
docker-compose stop
3431

3532
.PHONY: restart
36-
restart:
33+
restart: ## Restart container timetracker_ui.
3734
docker-compose stop
3835
docker-compose up -d
39-
docker logs -f timetracker_ui
4036

4137
.PHONY: remove
42-
remove:
38+
remove: ## Delete container timetracker_ui.
4339
docker-compose down
4440

4541
.PHONY: test
46-
test:
42+
test: ## Run all tests on docker container timetracker_ui.
4743
docker-compose --env-file ./.env up -d
4844
docker exec -it timetracker_ui bash -c "npm run test"
4945

5046
.PHONY: publish
51-
publish:
52-
docker tag timetracker_ui:latest timetrackerdevregistry.azurecr.io/timetracker_ui:latest
53-
docker push timetrackerdevregistry.azurecr.io/timetracker_ui:latest
47+
publish: ## Publish the container image timetracker_ui.
48+
docker tag timetracker_ui:latest $(registry_url)/timetracker_ui:latest
49+
docker push $(registry_url)/timetracker_ui:latest
5450

5551
.PHONY: build_prod
56-
build_prod:
57-
-docker rmi timetracker_ui_prod
52+
build_prod: ## Create docker image with dependencies needed for production.
5853
docker build --target production -t timetracker_ui_prod -f Dockerfile .
5954

6055
.PHONY: run_prod
61-
run_prod:
56+
run_prod: ## Execute timetracker_ui_prod docker container.
6257
docker run -d -p 4200:4200 --name timetracker_ui_prod timetracker_ui_prod
63-
docker logs -f timetracker_ui_prod
6458

6559
.PHONY: remove_prod
66-
remove_prod:
60+
remove_prod: ## Delete container timetracker_ui_pro.
6761
docker stop timetracker_ui_prod
6862
docker rm timetracker_ui_prod
6963

7064
.PHONY: publish_prod
71-
publish_prod:
72-
docker tag timetracker_ui_prod:latest timetrackerdevregistry.azurecr.io/timetracker_ui_prod:latest
73-
docker push timetrackerdevregistry.azurecr.io/timetracker_ui_prod:latest
65+
publish_prod: ## Publish the container image timetracker_ui_prod.
66+
docker tag timetracker_ui_prod:latest $(registry_url)/timetracker_ui_prod:latest
67+
docker push $(registry_url)/timetracker_ui_prod:latest
7468

7569
.PHONY: login
76-
login:
77-
az acr login --name timetrackerdevregistry
70+
login: ## Login in respository of docker images.
71+
az acr login --name timetrackerdevregistry

0 commit comments

Comments
 (0)