39 lines
1.1 KiB
Makefile
39 lines
1.1 KiB
Makefile
# This Makefile was originally taken from https://github.com/alimac/alimac.io/
|
|
# Website hostname, used to set:
|
|
# - image and container names
|
|
# - path to web root (in /tmp directory)
|
|
WEBSITE=bdebyl.net
|
|
|
|
DOCKER_IMAGE_NAME=bdebyl/hugo
|
|
DOCKER_IMAGE_TAG=0.2
|
|
DOCKER_IMAGE=$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)
|
|
|
|
DOCKER_RUN=docker run --rm -v $(shell pwd):/src -p 127.0.0.1:1313:1313/tcp
|
|
|
|
# Look up CloudFront distribution ID based on website alias
|
|
DISTRIBUTION_ID=$(shell aws cloudfront list-distributions \
|
|
--query 'DistributionList.Items[].(id:Id,a:Aliases.Items)[?contains(a,`$(WEBSITE)`)].id' \
|
|
--output text)
|
|
|
|
build:
|
|
$(DOCKER_RUN) $(DOCKER_IMAGE)
|
|
|
|
run:
|
|
$(DOCKER_RUN) $(DOCKER_IMAGE) server --bind=0.0.0.0
|
|
|
|
clean:
|
|
@# Clean up existing generated site
|
|
rm -rf public/ resources/
|
|
|
|
deploy: clean build
|
|
@# Upload files to S3
|
|
aws s3 sync --acl "public-read" --sse "AES256" public/ s3://$(WEBSITE)
|
|
|
|
cache:
|
|
@# Invalidate caches
|
|
aws cloudfront create-invalidation --distribution-id $(DISTRIBUTION_ID) --paths '/*'
|
|
|
|
# Default target for make (<=3.80)
|
|
.PHONY: build run deploy
|
|
default: run
|