44 lines
1.2 KiB
Makefile
44 lines
1.2 KiB
Makefile
# flexible use with docker and podman
|
|
platform ?= docker
|
|
container_workdir = /home/builder/workdir/
|
|
|
|
.PHONY: build
|
|
build:
|
|
# Build Docker image
|
|
$(platform) build -t milksad-website .
|
|
|
|
.PHONY: fullclean
|
|
fullclean: clean
|
|
$(platform) rmi milksad-website-builder -f
|
|
$(platform) image prune --filter label=stage=milksad-website-builder
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf site_export
|
|
|
|
site_export: build
|
|
rm -rf site_export
|
|
mkdir -p site_export
|
|
$(platform) run milksad-website tar c -C ${container_workdir}/_site . | tar x -C site_export
|
|
|
|
#.PHONY: serve
|
|
#serve: build
|
|
# # Run Docker container with listener for current dir and port mapping
|
|
# $(platform) run --rm -p 0.0.0.0:4000:80 -it milksad-website
|
|
|
|
upload: site_export
|
|
rsync -av --delete site_export/ milksad-website:/var/www/html
|
|
|
|
.PHONY: build-dev
|
|
build-dev:
|
|
# Build Docker image
|
|
$(platform) build --target builder -t dev-milksad-website .
|
|
|
|
.PHONY: dev
|
|
dev: build-dev
|
|
$(platform) run --rm --expose 4000 -p 127.0.0.1:4000:4000 --mount type=bind,source=${PWD},target=${container_workdir} -it dev-milksad-website jekyll serve -H 0.0.0.0
|
|
|
|
.PHONY: dev-shell
|
|
dev-shell: build-dev
|
|
$(platform) run --rm --expose 4000 -p 127.0.0.1:4000:4000 --mount type=bind,source=${PWD},target=${container_workdir} -it dev-milksad-website sh
|