Сборка: добавить production packaging flow через .deb
Добавлен package-режим в tools/build.sh: --package, --dist-dir, --version. Реализована сборка Debian-пакета, metadata/control, postinst/postrm и SHA256SUMS. Установочные пути унифицированы под /usr/sbin и /lib/systemd/system для production-модели.
This commit is contained in:
+21
-8
@@ -10,6 +10,10 @@ Unit: [`awg2-harness.service`](../awg2-harness.service).
|
||||
- Debian/Ubuntu (apt-based)
|
||||
- amd64/x86_64
|
||||
|
||||
## Purpose
|
||||
|
||||
Скрипт используется на build-machine для проверки, сборки и упаковки AWG2 Harness.
|
||||
|
||||
## Default mode
|
||||
|
||||
```bash
|
||||
@@ -28,29 +32,38 @@ Unit: [`awg2-harness.service`](../awg2-harness.service).
|
||||
- `--prepare-runtime-env` — установить недостающие runtime-пакеты;
|
||||
- `--bootstrap-rust` — установить rustup и pinned toolchain;
|
||||
- `--build` — запустить build gate явно;
|
||||
- `--package` — собрать Debian-пакет в `dist/`;
|
||||
- `--dist-dir <path>` — директория для release artifacts;
|
||||
- `--version <version>` — переопределить версию пакета;
|
||||
- `--install` — установить бинарь + systemd unit (без enable/start);
|
||||
- `--enable` — `systemctl enable --now awg2-harness.service`;
|
||||
- `--yes` — подтверждение системных изменений (apt/rustup);
|
||||
- `--skip-fmt` — пропустить `cargo fmt --check`;
|
||||
- `--help` — справка.
|
||||
|
||||
## Typical build machine flow
|
||||
## Build machine flow
|
||||
|
||||
```bash
|
||||
./tools/build.sh --prepare-build-env --bootstrap-rust --yes
|
||||
./tools/build.sh
|
||||
./tools/build.sh --build
|
||||
./tools/build.sh --package
|
||||
```
|
||||
|
||||
## Typical production host flow
|
||||
## Production host flow
|
||||
|
||||
В нормальном production deployment **не нужно** клонировать репозиторий на целевой хост.
|
||||
Ставится сгенерированный пакет:
|
||||
|
||||
```bash
|
||||
./tools/build.sh --prepare-runtime-env --yes
|
||||
install -d -m 0755 /etc/awg2-harness
|
||||
install -m 0644 config.toml /etc/awg2-harness/config.toml
|
||||
./tools/build.sh --install
|
||||
./tools/build.sh --enable
|
||||
apt install ./awg2-harness_*_amd64.deb
|
||||
```
|
||||
|
||||
## Manual source-tree install
|
||||
|
||||
`--install` и `--enable` оставлены для staging/debug из checked-out source tree.
|
||||
|
||||
Это **не рекомендуемый** production path.
|
||||
|
||||
## What the script intentionally does not do
|
||||
|
||||
- не устанавливает Docker автоматически;
|
||||
|
||||
Reference in New Issue
Block a user