ptut-virtenv/Makefile

61 lines
1.9 KiB
Makefile

IMAGE_NAME="alp-mdb"
CONTAINER_NAME="inst1"
LOG="/tmp/ptut.virtenv.log"
LOCK="/tmp/ptut.virtenv.lock"
image: build
@echo -n "> Building image...............";
docker build --force-rm -t $(IMAGE_NAME) . && echo "done" || echo "error";
build: docker/main docker/include/*
@echo -n "> Building file Dockerfile.....";
@cpp -o Dockerfile docker/main && echo "done" || echo "error";
clean:
@echo -n "> Stopping containers..........";
@docker stop $(CONTAINER_NAME); true;
@docker rm -flv $(CONTAINER_NAME); true;
@echo -n "> Deleting docker image........";
@docker rmi -f $(IMAGE_NAME) && echo "done" || echo "failed"; true
@echo -n "> Deleting Dockerfile..........";
@rm Dockerfile && echo "done" || echo "failed"; true
run: image
@echo "> Launching the container";
docker run --name $(CONTAINER_NAME) $(IMAGE_NAME);
kill:
@docker exec -ti inst1 sh -c 'rm boot.lock';
boot:
@echo -e "/!\\ 'make log' for real-time log\n";
@touch $(LOG);
@while true; do \
echo "*** 1. Updating virtual environment" | tee -a $(LOG); \
git pull origin master >> $(LOG) 2>&1; true; \
echo "*** 2. Building image" | tee -a $(LOG); \
make image >> $(LOG) 2>&1; \
echo "*** 3. Launching container" | tee -a $(LOG); \
touch $(LOCK); \
docker run --name $(CONTAINER_NAME) $(IMAGE_NAME) >> $(LOG) 2>&1; \
echo "*** 4. Deleting container" | tee -a; \
docker stop $(CONTAINER_NAME) >> $(LOG) 2>&1; true; \
docker rm -flv $(CONTAINER_NAME) >> $(LOG) 2>&1; true; \
rm $(LOCK); \
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;