79 lines
2.9 KiB
Makefile
79 lines
2.9 KiB
Makefile
IMAGE_NAME="alp-mdb"
|
|
CONTAINER_NAME="inst1"
|
|
LOG="/tmp/ptut.virtenv.log"
|
|
LOCK="/tmp/ptut.virtenv.lock"
|
|
|
|
image: build
|
|
@echo -n "> Build image..................";
|
|
@docker build --force-rm -t $(IMAGE_NAME) . >>$(LOG) 2>&1 && echo "done" || echo "error";
|
|
|
|
build: docker/main docker/include/*
|
|
@echo -n "> Build Dockerfile.............";
|
|
@cpp -o Dockerfile docker/main && echo "done" || echo "error";
|
|
|
|
clean:
|
|
@echo -n "> Stop container...............";
|
|
@docker stop $(CONTAINER_NAME) >/dev/null 2>&1 && echo "stopped" || echo "already"; true;
|
|
@echo -n "> Delete container.............";
|
|
@docker rm -f $(CONTAINER_NAME) >/dev/null 2>&1 && echo "deleted" || echo "already"; true;
|
|
@echo -n "> Delete image.................";
|
|
@docker rmi -f $(IMAGE_NAME) >/dev/null 2>&1 && echo "deleted" || echo "already"; true;
|
|
@echo -n "> Delete Dockerfile............";
|
|
@rm Dockerfile >/dev/null 2>&1 && echo "done" || echo "already"; true
|
|
@echo -n "> Delete log file..............";
|
|
@rm $(LOG) >/dev/null 2>&1 && echo "done" || echo "already"; true
|
|
@echo -n "> Delete lock file.............";
|
|
@rm $(LOCK) >/dev/null 2>&1 && echo "done" || echo "already"; true
|
|
|
|
run:
|
|
@echo ">>> Search running container";
|
|
@test ! -f $(LOCK) && echo -e "<<< nothing\n" || (echo -e "<<< found\n\nERR: You must run 'make clean' before running a new container"; exit 1);
|
|
@echo ">>> Build image";
|
|
@make image;
|
|
@echo -e "<<< built\n";
|
|
@echo ">>> Container launched";
|
|
@touch $(LOCK);
|
|
@docker run --name $(CONTAINER_NAME) $(IMAGE_NAME);
|
|
@echo -e "<<< stopped\n";
|
|
@echo ">>> clean installation" | tee -a $(LOG); \
|
|
make clean;
|
|
@echo "<<< cleaned";
|
|
|
|
kill:
|
|
@echo -n "Search running container.......";
|
|
@test -f $(LOCK) && echo "found" || (echo -e "nothing\n\nERR: You must run a container to kill it"; exit 1);
|
|
@echo -n "Kill container.................";
|
|
@docker exec -ti inst1 sh -c 'rm boot.lock' && echo "killed" || echo "error";
|
|
|
|
boot:
|
|
@touch $(LOG);
|
|
@while true; do \
|
|
echo ">>> pull from source" | tee -a $(LOG); \
|
|
git pull origin master >> $(LOG) 2>&1 && echo -e "<<< pulled\n" || echo -e "<<< error\n"; \
|
|
echo ">>> make image" | tee -a $(LOG); \
|
|
make image; \
|
|
echo -e ">>> made\n" | tee -a $(LOG); \
|
|
echo ">>> launch container" | tee -a $(LOG); \
|
|
touch $(LOCK); \
|
|
docker run --name $(CONTAINER_NAME) $(IMAGE_NAME) >> $(LOG) 2>&1; \
|
|
echo -e "<<< stopped\n" | tee -a $(LOG); \
|
|
echo ">>> clean installation" | tee -a $(LOG); \
|
|
make clean; \
|
|
echo -e "<<< cleaned\n"; \
|
|
sleep 2; \
|
|
done;
|
|
|
|
log:
|
|
@echo -n "> Checking log file.......";
|
|
@test -f $(LOG) && echo "found" || (echo "missing"; exit 1);
|
|
@echo -n "> Checking container......";
|
|
@test -f $(LOCK) && echo "running" || echo "not running";
|
|
@echo "====== LOG ======";
|
|
@tail -f $(LOG);
|
|
|
|
tty:
|
|
@echo -n "> Checking lock...........";
|
|
@test -f $(LOCK) && echo "found" || (echo "missing"; exit 1);
|
|
@echo "> Connecting tty.............";
|
|
@docker exec -ti $(CONTAINER_NAME) sh;
|