cringe
Some checks are pending
CI / agent (push) Waiting to run
CI / backend (push) Waiting to run
CI / frontend (push) Waiting to run
CI / containers (push) Waiting to run

This commit is contained in:
2026-09-20 11:03:09 +03:00
parent c4dc19cd41
commit cf1c31eb2a
6 changed files with 194 additions and 28 deletions

View File

@@ -22,13 +22,42 @@
- `vps-agent-linux-amd64`
- `vps-agent-linux-arm64`
Сопровождающие проект разработчики могут сформировать необходимую структуру релиза из двух заранее скомпилированных бинарных файлов:
Каждую архитектуру можно собрать и упаковать независимо на соответствующей Linux-машине. Для релиза только под amd64 второй бинарный файл не нужен:
```bash
./package-agent-release.sh path/to/x86_64/vps-agent path/to/aarch64/vps-agent dist
./scripts/build-agent-native.sh dist
```
Этот скрипт создаёт файлы с каноническими именами, а также `SHA256SUMS`. Если задана переменная `VPS_AGENT_MINISIGN_SECRET_KEY`, дополнительно создаётся файл подписи `SHA256SUMS.minisig`.
Скрипт определит архитектуру текущего Linux-хоста, выполнит release-сборку и создаст только соответствующий артефакт. Например, на Linux x86_64 будут созданы `dist/vps-agent-linux-amd64` и `dist/SHA256SUMS`.
Если бинарный файл уже собран, можно запустить только упаковку:
```bash
./package-agent-release.sh \
--output dist \
--amd64 path/to/x86_64/vps-agent
```
На отдельном Linux arm64 builder используется независимый запуск:
```bash
./package-agent-release.sh \
--output dist \
--arm64 path/to/aarch64/vps-agent
```
Если оба Linux-бинарника уже скопированы на одну машину, их можно упаковать одним запуском:
```bash
./package-agent-release.sh \
--output dist \
--amd64 path/to/x86_64/vps-agent \
--arm64 path/to/aarch64/vps-agent
```
Скрипт создаёт файлы с каноническими именами и пересобирает `SHA256SUMS` для всех артефактов, находящихся в выходном каталоге. На Linux используется `sha256sum`, а на macOS — `shasum -a 256`. Если задана переменная `VPS_AGENT_MINISIGN_SECRET_KEY`, дополнительно создаётся файл подписи `SHA256SUMS.minisig`.
Нативная сборка на macOS создаёт Mach-O и для Linux-релиза не подходит. На macOS можно объединять и подписывать уже собранные Linux-артефакты, но сами `linux/amd64` и `linux/arm64` бинарники собираются независимо на Linux-хостах соответствующей архитектуры.
Во время установки скрипт:
@@ -55,4 +84,4 @@
```bash
--yes
```
```