github.com/spg/deis@v1.7.3/controller/Makefile (about)

     1  include ../includes.mk
     2  
     3  .PHONY: all test logs
     4  
     5  all: build run
     6  
     7  COMPONENT = controller
     8  IMAGE = $(IMAGE_PREFIX)$(COMPONENT):$(BUILD_TAG)
     9  DEV_IMAGE = $(DEV_REGISTRY)/$(IMAGE)
    10  
    11  build: check-docker
    12  	docker build -t $(IMAGE) .
    13  
    14  clean: check-docker check-registry
    15  	docker rmi $(IMAGE)
    16  
    17  full-clean: check-docker check-registry
    18  	docker images -q $(IMAGE_PREFIX)$(COMPONENT) | xargs docker rmi -f
    19  
    20  install: check-deisctl
    21  	deisctl install $(COMPONENT)
    22  
    23  uninstall: check-deisctl
    24  	deisctl uninstall $(COMPONENT)
    25  
    26  start: check-deisctl
    27  	deisctl start $(COMPONENT)
    28  
    29  stop: check-deisctl
    30  	deisctl stop $(COMPONENT)
    31  
    32  restart: stop start
    33  
    34  run: install start
    35  
    36  dev-release: push set-image
    37  
    38  push: check-registry
    39  	docker tag -f $(IMAGE) $(DEV_IMAGE)
    40  	docker push $(DEV_IMAGE)
    41  
    42  set-image: check-deisctl
    43  	deisctl config $(COMPONENT) set image=$(DEV_IMAGE)
    44  
    45  release:
    46  	docker push $(IMAGE)
    47  
    48  deploy: build dev-release restart
    49  
    50  runserver:
    51  	python manage.py runserver
    52  
    53  postgres:
    54  	docker start postgres || docker run --restart="always" -d -p 5432:5432 --name postgres postgres:9.4.1
    55  	docker exec postgres createdb -U postgres deis 2>/dev/null || true
    56  	@echo "To use postgres for local development:"
    57  	@echo "    export PGHOST=`boot2docker ip 2>/dev/null || echo 127.0.0.1`"
    58  	@echo "    export PGPORT=5432"
    59  	@echo "    export PGUSER=postgres"
    60  
    61  db:
    62  	python manage.py syncdb --migrate --noinput
    63  
    64  coverage:
    65  	coverage run manage.py test --noinput api
    66  	coverage html
    67  
    68  test: test-unit test-functional
    69  
    70  setup-venv:
    71  	@if [ ! -d venv ]; then virtualenv venv; fi
    72  	venv/bin/pip install -q -r requirements.txt -r dev_requirements.txt
    73  
    74  test-style: setup-venv
    75  	venv/bin/flake8
    76  
    77  test-unit: setup-venv test-style
    78  	venv/bin/coverage run manage.py test --noinput api
    79  	venv/bin/coverage report -m
    80  
    81  test-functional:
    82  	@docker history deis/test-etcd >/dev/null 2>&1 || docker pull deis/test-etcd:latest
    83  	@docker history deis/test-postgresql >/dev/null 2>&1 || docker pull deis/test-postgresql:latest
    84  	GOPATH=`cd ../tests/ && godep path`:$(GOPATH) go test -v ./tests/...