образ собирается по контракту роли app_image вместо пуша в реестр
- таск `deploy` (сборка + пуш в cr.yandex + вызов ansible) заменён на `image`: собирает node-образ, сайт и nginx-образ, тег из $BUILD_ID - деплой целиком переехал в `inv pl -- homepage` на стороне pet-project-server
This commit is contained in:
+9
-9
@@ -10,6 +10,7 @@ vars:
|
||||
|
||||
PROJECT: "homepage"
|
||||
NODE_IMAGE: "{{.PROJECT}}-node"
|
||||
NGINX_IMAGE: "{{.PROJECT}}-nginx"
|
||||
|
||||
DOCKER_COMMON_OPTS: >-
|
||||
--rm
|
||||
@@ -43,14 +44,13 @@ tasks:
|
||||
cmds:
|
||||
- docker run {{.DOCKER_COMMON_OPTS}} "{{.NODE_IMAGE}}" npm run build
|
||||
|
||||
deploy:
|
||||
# Контракт роли app_image (pet-project-server): собрать полный образ и затегать
|
||||
# его $BUILD_ID. Задача самодостаточна — собирает и node-образ, и сам сайт,
|
||||
# поэтому деплой с чистого клона работает без предварительных команд.
|
||||
# Деплой целиком: `inv pl -- homepage` в pet-project-server.
|
||||
image:
|
||||
desc: 'Docker-образ nginx с собранным сайтом. Тег из $BUILD_ID (по умолчанию dev)'
|
||||
cmds:
|
||||
- task: build-docker
|
||||
- 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
|
||||
- docker build --pull --file docker/Dockerfile.nginx.prod --tag "{{.NGINX_IMAGE}}:${BUILD_ID:-dev}" .
|
||||
|
||||
Reference in New Issue
Block a user