1
0
mirror of https://github.com/gsi-upm/senpy synced 2025-08-23 18:12:20 +00:00

Deployment changes

* Docker all the things!
* Make all the things!
* Fixed version.sh
This commit is contained in:
J. Fernando Sánchez
2017-02-27 12:14:39 +01:00
parent 9f6a6f5ecd
commit ba2e18125c
16 changed files with 145 additions and 170 deletions

View File

@@ -1,25 +1,25 @@
PYVERSIONS=3.5 3.4 2.7
PYVERSIONS=3.5 2.7
PYMAIN=$(firstword $(PYVERSIONS))
NAME=senpy
REPO=gsiupm
VERSION=$(shell ./version.sh)
VERSION=$(shell git describe --tags --dirty 2>/dev/null)
TARNAME=$(NAME)-$(VERSION).tar.gz
IMAGENAME=$(REPO)/$(NAME):$(VERSION)
TEST_COMMAND=gitlab-runner exec docker --cache-dir=/tmp/gitlabrunner --docker-volumes /tmp/gitlabrunner:/tmp/gitlabrunner --env CI_PROJECT_NAME=$(NAME)
action="test-${PYMAIN}"
all: build run
FORCE:
.FORCE:
version: FORCE
version: .FORCE
@echo $(VERSION) > $(NAME)/VERSION
@echo $(NAME) $(VERSION)
@echo $(VERSION)
yapf:
yapf -i -r senpy
yapf -i -r tests
dev:
init:
pip install --user pre-commit
pre-commit install
@@ -34,26 +34,27 @@ quick_build: $(addprefix build-, $(PYMAIN))
build: $(addprefix build-, $(PYVERSIONS))
build-%: Dockerfile-%
build-%: version Dockerfile-%
docker build -t '$(IMAGENAME)-python$*' -f Dockerfile-$* .;
quick_test: $(addprefix test-,$(PYMAIN))
test: $(addprefix test-,$(PYVERSIONS))
debug-%:
@docker start $(NAME)-debug || (\
dev-%:
@docker start $(NAME)-dev || (\
$(MAKE) build-$*; \
docker run -d -w /usr/src/app/ -v $$PWD:/usr/src/app --entrypoint=/bin/bash -p 5000:5000 -ti --name $(NAME)-debug '$(IMAGENAME)-python$*'; \
docker exec -ti $(NAME)-debug pip install -r test-requirements.txt; \
docker run -d -w /usr/src/app/ -v $$PWD:/usr/src/app --entrypoint=/bin/bash -p 5000:5000 -ti --name $(NAME)-dev '$(IMAGENAME)-python$*'; \
)\
docker attach $(NAME)-debug
docker exec -ti $(NAME)-dev bash
debug: debug-$(PYMAIN)
dev: dev-$(PYMAIN)
test-%:
$(TEST_COMMAND) test-$*
test-all: $(addprefix test-,$(PYVERSIONS))
test-%: build-%
docker run --rm --entrypoint /usr/local/bin/python -w /usr/src/app $(IMAGENAME)-python$* setup.py test
test: test-$(PYMAIN)
dist/$(TARNAME):
docker run --rm -ti -v $$PWD:/usr/src/app/ -w /usr/src/app/ python:$(PYMAIN) python setup.py sdist;
@@ -77,11 +78,16 @@ upload: test $(addprefix upload-,$(PYVERSIONS))
clean:
@docker ps -a | awk '/$(REPO)\/$(NAME)/{ split($$2, vers, "-"); if(vers[0] != "${VERSION}"){ print $$1;}}' | xargs docker rm -v 2>/dev/null|| true
@docker images | awk '/$(REPO)\/$(NAME)/{ split($$2, vers, "-"); if(vers[0] != "${VERSION}"){ print $$1":"$$2;}}' | xargs docker rmi 2>/dev/null|| true
@docker rmi $(NAME)-debug 2>/dev/null || true
@docker rmi $(NAME)-dev 2>/dev/null || true
git_commit:
git commit -a
git_tag:
git tag ${VERSION}
upload_git:
git commit -a
git tag ${VERSION}
git push --tags origin master
pip_upload:
@@ -94,4 +100,14 @@ run-%: build-%
run: run-$(PYMAIN)
.PHONY: test test-% build-% build test pip_test run yapf dev
push-latest: build-$(PYMAIN)
docker tag $(IMAGENAME)-python$(PYMAIN) $(IMAGENAME)
docker push $(IMAGENAME)
push-%: build-%
docker push $(IMAGENAME)-python$*
ci:
gitlab-runner exec docker --docker-volumes /var/run/docker.sock:/var/run/docker.sock --env CI_PROJECT_NAME=$(NAME) ${action}
.PHONY: test test-% test-all build-% build test pip_test run yapf dev ci version .FORCE