Добавил сборку на локальном хосте
This commit is contained in:
@@ -20,6 +20,12 @@ This is an educational project written in Go 1.26.
|
||||
go build -o trackers ./main.go
|
||||
```
|
||||
|
||||
Через [Task](https://taskfile.dev) (`task --list` — полный список):
|
||||
```bash
|
||||
task build # статический бинарь linux/amd64 (CGO_ENABLED=0) для сервера
|
||||
task image # docker-образ из готового бинаря (Dockerfile.deploy)
|
||||
```
|
||||
|
||||
### Run
|
||||
```bash
|
||||
go run main.go -config config.toml
|
||||
@@ -48,6 +54,18 @@ Uses goreleaser for cross-platform builds (Linux amd64/arm64):
|
||||
goreleaser build --snapshot --clean
|
||||
```
|
||||
|
||||
## Deploy paths
|
||||
|
||||
Two independent ways to ship the service:
|
||||
|
||||
1. **Yandex Container Registry (buckland)** — CI (`.gitea/workflows/release.yml`)
|
||||
собирает образ из `Dockerfile` (многоступенчатая сборка из исходников) и
|
||||
пушит в реестр; buckland тянет образ оттуда.
|
||||
2. **Локальная сборка (umbar)** — `Dockerfile.deploy` упаковывает готовый
|
||||
бинарь (`task build`). Плейбук `umbar/playbook-trackers.yml` собирает бинарь
|
||||
на control-хосте, доставляет его + `Dockerfile.deploy` на сервер и собирает
|
||||
образ там (Go-тулчейн на сервере не нужен). Так же устроен `jellybit`.
|
||||
|
||||
## Architecture
|
||||
|
||||
**Single File Design**: All code is in `main.go` with clear functional separation:
|
||||
|
||||
Reference in New Issue
Block a user