Files
homepage/Taskfile.yml
T

57 lines
1.2 KiB
YAML

# https://taskfile.dev
version: '3'
vars:
USER_ID:
sh: id -u
GROUP_ID:
sh: id -g
PROJECT: "homepage"
NODE_IMAGE: "{{.PROJECT}}-node"
DOCKER_COMMON_OPTS: >-
--rm
--user {{.USER_ID}}:{{.GROUP_ID}}
--volume /etc/passwd:/etc/passwd:ro
--volume /etc/group:/etc/group:ro
--volume "./:/srv/app"
--workdir "/srv/app"
-e HOME=/srv/app/.home
tasks:
build-docker:
cmds:
- docker build --file docker/node/Dockerfile --tag "{{.NODE_IMAGE}}" .
npm:
cmds:
- docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" npm {{.CLI_ARGS}}
install:
cmds:
- task: npm
vars: { CLI_ARGS: "install" }
dev:
cmds:
- docker run {{.DOCKER_COMMON_OPTS}} -p 4321:4321 "{{.NODE_IMAGE}}" npm run dev
build-prod:
cmds:
- docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" npm run build
deploy:
cmds:
- task: build-prod
- docker build --pull --file docker/Dockerfile.nginx.prod --tag homepage-nginx:latest .
- task: deploy-with-ansible
deploy-with-ansible:
internal: true
dir: '/home/av/projects/private/pet-project-server'
cmds:
- uv run ansible-playbook -i production.yml playbook-homepage-registry.yml playbook-homepage.yml