deploy: task image принимает BUILD_ID под роль app_image
- Dockerfile.deploy и AGENTS.md описывают локальную сборку образа + docker save/load
This commit is contained in:
@@ -62,9 +62,10 @@ Two independent ways to ship the service:
|
||||
собирает образ из `Dockerfile` (многоступенчатая сборка из исходников) и
|
||||
пушит в реестр; buckland тянет образ оттуда.
|
||||
2. **Локальная сборка (umbar)** — `Dockerfile.deploy` упаковывает готовый
|
||||
бинарь (`task build`). Плейбук `umbar/playbook-trackers.yml` собирает бинарь
|
||||
на control-хосте, доставляет его + `Dockerfile.deploy` на сервер и собирает
|
||||
образ там (Go-тулчейн на сервере не нужен). Так же устроен `jellybit`.
|
||||
бинарь (`task build`). Плейбук `umbar/playbook-trackers.yml` собирает
|
||||
**полный образ локально** на control-хосте (`task image`, роль `app_image`)
|
||||
и доставляет его на сервер через `docker save`/`load`; `docker build` и
|
||||
Go-тулчейн на сервере не нужны. Так же устроен `jellybit`.
|
||||
|
||||
## Architecture
|
||||
|
||||
|
||||
+5
-2
@@ -1,5 +1,8 @@
|
||||
# Упаковка готового статического бинаря в минимальный образ — деплой на umbar
|
||||
# (см. ../umbar/playbook-trackers.yml). Бинарь собирается снаружи:
|
||||
# (см. ../umbar/playbook-trackers.yml). Образ собирается целиком локально на
|
||||
# control-хосте через `task image` (роль app_image в umbar) и едет на сервер
|
||||
# через docker save/load; docker build на сервере не выполняется. Бинарь
|
||||
# собирается снаружи:
|
||||
# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o trackers . (task build)
|
||||
# distroless/static несёт CA-сертификаты (HTTPS к источникам списков трекеров).
|
||||
# Пользователь задаётся в compose (user: "1000:1000").
|
||||
@@ -7,7 +10,7 @@
|
||||
# Тома (см. compose): /config (ro, рендерится плейбуком) + /cache (пишет сам).
|
||||
#
|
||||
# Канонический Dockerfile (многоступенчатая сборка из исходников) живёт рядом и
|
||||
# используется CI (Yandex Registry) — этот файл нужен только серверной сборке.
|
||||
# используется CI (Yandex Registry) — отдельный путь для реестра.
|
||||
FROM gcr.io/distroless/static-debian12
|
||||
|
||||
COPY trackers /usr/local/bin/trackers
|
||||
|
||||
+2
-2
@@ -37,10 +37,10 @@ tasks:
|
||||
- go mod tidy
|
||||
|
||||
image:
|
||||
desc: 'Docker-образ из готового бинаря (Dockerfile.deploy, как на сервере umbar)'
|
||||
desc: 'Docker-образ из готового бинаря (Dockerfile.deploy). Тег из $BUILD_ID (по умолчанию dev; роль app_image umbar передаёт свой)'
|
||||
deps: [build]
|
||||
cmds:
|
||||
- docker build -f Dockerfile.deploy -t trackers:dev .
|
||||
- docker build -f Dockerfile.deploy -t {{.BINARY}}:${BUILD_ID:-dev} .
|
||||
|
||||
clean:
|
||||
desc: Удалить собранный бинарь
|
||||
|
||||
Reference in New Issue
Block a user