feat: add workflow for env variables in deploy.toml

This commit is contained in:
2026-08-23 07:03:49 +05:00
parent 92c654d85b
commit aa12dab735
4 changed files with 55 additions and 10 deletions
+7 -3
View File
@@ -14,7 +14,7 @@
cargo install --path .
```
Требуется Rust 1.80+. Кроссплатформенно: Windows (MSVC), Linux, macOS.
Требуется Rust 1.88+. Кроссплатформенно: Windows (MSVC), Linux, macOS.
## Быстрый старт
@@ -56,6 +56,9 @@ key_path = "~/.ssh/id_ed25519" # опционально; иначе identity_f
[projects.my-node-app.local] # шаги сборки на вашей машине
commands = ["npm ci", "npm run build"]
[projects.my-node-app.env] # переменные для локальных команд сборки
PUBLIC_BASE_PATH = "/my-node-app"
[[projects.my-node-app.sync]] # что заливать на сервер
source = "dist" # файл или папка (относительно workdir)
target = "/var/www/pages"
@@ -64,7 +67,7 @@ target = "/var/www/pages"
commands = ["pm2 restart pages"]
```
Приоритет параметров SSH: явное значение из deploy.toml → `~/.ssh/config` → дефолт.
Приоритет параметров SSH: deploy.toml → `~/.ssh/config` → дефолт.
### Windows-нюанс TOML
@@ -94,9 +97,10 @@ workdir = 'C:\code\my-node-app'
Если рядом с workdir проекта есть `.env`, его переменные (KEY=VALUE, `#`
комментарии, кавычки, префикс `export`) доступны всем локальным командам.
Переменные уже существующего окружения ОС имеют приоритет над `.env`.
`.env` не копируется на сервер, если не указан явно в `sync`.
Приоритет источников: `[env]` из deploy.toml → `.env` → окружение ОС.
```env
# .env
NODE_ENV=production