образ собирается по контракту роли app_image вместо пуша в реестр
- Taskfile сведён к таску `image` с тегом из $BUILD_ID; старый `deploy` (пуш в cr.yandex, правка и коммит тега в pet-project-server) удалён - деплой целиком переехал в `inv pl -- transcriber`
This commit is contained in:
@@ -32,6 +32,18 @@
|
|||||||
|
|
||||||
Сервер запустится на порту 8080.
|
Сервер запустится на порту 8080.
|
||||||
|
|
||||||
|
## Деплой
|
||||||
|
|
||||||
|
Деплой запускается из `pet-project-server`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
inv pl -- transcriber
|
||||||
|
```
|
||||||
|
|
||||||
|
Плейбук сам зовёт `task image` (контракт роли `app_image`): образ собирается
|
||||||
|
локально и едет на сервер через `docker save`/`load`, реестр не участвует.
|
||||||
|
Локально образ можно собрать и руками — `task image` даст `transcriber:dev`.
|
||||||
|
|
||||||
## API Endpoints
|
## API Endpoints
|
||||||
|
|
||||||
### POST /api/transcribe
|
### POST /api/transcribe
|
||||||
|
|||||||
+6
-22
@@ -3,29 +3,13 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
GREETING: Hello, World!
|
PROJECT: "transcriber"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
deploy:
|
# Контракт роли app_image (pet-project-server): собрать полный образ и затегать
|
||||||
vars:
|
# его $BUILD_ID. Деплой целиком: `inv pl -- transcriber` в pet-project-server.
|
||||||
COMMIT_HASH:
|
image:
|
||||||
sh: git rev-parse --short HEAD
|
desc: 'Docker-образ. Тег из $BUILD_ID (по умолчанию dev)'
|
||||||
TIMESTAMP:
|
|
||||||
sh: date +%s
|
|
||||||
DOCKER_IMAGE: transcriber:{{.COMMIT_HASH}}-{{.TIMESTAMP}}
|
|
||||||
cmds:
|
cmds:
|
||||||
- docker build --pull --file Dockerfile --tag {{.DOCKER_IMAGE}} .
|
- docker build --pull --file Dockerfile --tag "{{.PROJECT}}:${BUILD_ID:-dev}" .
|
||||||
- task: deploy-with-ansible
|
|
||||||
vars:
|
|
||||||
DOCKER_IMAGE: '{{.DOCKER_IMAGE}}'
|
|
||||||
|
|
||||||
deploy-with-ansible:
|
|
||||||
internal: true
|
|
||||||
requires:
|
|
||||||
vars: [DOCKER_IMAGE]
|
|
||||||
dir: '/home/av/projects/private/pet-project-server'
|
|
||||||
cmds:
|
|
||||||
- yq --inplace '.transcriber_image = "{{.DOCKER_IMAGE}}"' vars/transcriber.images.yml
|
|
||||||
- "git commit vars/transcriber.images.yml --message 'Transcriber: release {{.DOCKER_IMAGE}}'"
|
|
||||||
- ansible-playbook -i production.yml playbook-transcriber-registry.yml playbook-transcriber.yml
|
|
||||||
|
|||||||
Reference in New Issue
Block a user