-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathMakefile
36 lines (32 loc) · 1.06 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
PROJECT = pageonex
DOCKER_REGISTRY ?= docker.io
DOCKER_ORG ?= pageonex
DOCKER_USERNAME ?=
DOCKER_PASSWORD ?=
VERSION ?= $(TRAVIS_TAG)
docker-login: docker-validate
@docker login -u "$(DOCKER_USERNAME)" -p "$(DOCKER_PASSWORD)" $(DOCKER_REGISTRY); \
docker-validate:
@if [ -z "$(DOCKER_USERNAME)" ]; then \
echo "DOCKER_USERNAME variable cannot be empty."; \
exit 1; \
fi; \
if [ -z "$(DOCKER_PASSWORD)" ]; then \
echo "DOCKER_PASSWORD variable cannot be empty."; \
exit 1; \
fi
docker-build:
@if [ -z "$(VERSION)" ]; then \
echo "VERSION variable cannot be empty."; \
exit 1; \
fi; \
if [ -z "$(DOCKER_ORG)" ]; then \
echo "DOCKER_ORG variable cannot be empty."; \
exit 1; \
fi; \
docker build -t $(DOCKER_REGISTRY)/$(DOCKER_ORG)/$(PROJECT):$(VERSION) .; \
docker-push: docker-login docker-build
docker push $(DOCKER_REGISTRY)/$(DOCKER_ORG)/$(PROJECT):$(VERSION); \
docker tag $(DOCKER_REGISTRY)/$(DOCKER_ORG)/$(PROJECT):$(VERSION) \
$(DOCKER_REGISTRY)/$(DOCKER_ORG)/$(PROJECT):latest; \
docker push $(DOCKER_REGISTRY)/$(DOCKER_ORG)/$(PROJECT):latest;