Compare commits
1 Commits
2076bdb63a
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
96a3b72ff0
|
@@ -38,4 +38,4 @@ All commands use [Taskfile](https://taskfile.dev/) and run through Docker:
|
|||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
Production builds into a Docker nginx image (`docker/Dockerfile.nginx.prod`), deployed via Ansible from a separate `pet-project-server` repo. The deploy task tags images with `git-hash-timestamp`.
|
Production builds into a Docker nginx image (`docker/Dockerfile.nginx.prod`), tagged as `homepage-nginx:latest` and deployed via Ansible from a separate `pet-project-server` repo.
|
||||||
|
|||||||
+1
-13
@@ -44,25 +44,13 @@ tasks:
|
|||||||
- docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" npm run build
|
- docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" npm run build
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
vars:
|
|
||||||
COMMIT_HASH:
|
|
||||||
sh: git rev-parse --short HEAD
|
|
||||||
TIMESTAMP:
|
|
||||||
sh: date +%s
|
|
||||||
DOCKER_IMAGE: homepage-nginx:{{.COMMIT_HASH}}-{{.TIMESTAMP}}
|
|
||||||
cmds:
|
cmds:
|
||||||
- task: build-prod
|
- task: build-prod
|
||||||
- docker build --pull --file docker/Dockerfile.nginx.prod --tag {{.DOCKER_IMAGE}} .
|
- docker build --pull --file docker/Dockerfile.nginx.prod --tag homepage-nginx:latest .
|
||||||
- task: deploy-with-ansible
|
- task: deploy-with-ansible
|
||||||
vars:
|
|
||||||
DOCKER_IMAGE: '{{.DOCKER_IMAGE}}'
|
|
||||||
|
|
||||||
deploy-with-ansible:
|
deploy-with-ansible:
|
||||||
internal: true
|
internal: true
|
||||||
requires:
|
|
||||||
vars: [DOCKER_IMAGE]
|
|
||||||
dir: '/home/av/projects/private/pet-project-server'
|
dir: '/home/av/projects/private/pet-project-server'
|
||||||
cmds:
|
cmds:
|
||||||
- yq --inplace '.homepage_nginx_image = "{{.DOCKER_IMAGE}}"' vars/homepage.images.yml
|
|
||||||
- "git commit vars/homepage.images.yml --message 'Homepage: release {{.DOCKER_IMAGE}}'"
|
|
||||||
- uv run ansible-playbook -i production.yml playbook-homepage-registry.yml playbook-homepage.yml
|
- uv run ansible-playbook -i production.yml playbook-homepage-registry.yml playbook-homepage.yml
|
||||||
|
|||||||
Reference in New Issue
Block a user