| 1 | # Сборка и релизы (PowerShell) |
| 2 | |
| 3 | Здесь — **скрипты `.ps1`**, которыми собирают и при необходимости заливают артефакты. **Отдельного GitLab CI / пайплайна в эксплуатации нет** (файл `.gitlab-ci.yml` в репо может лежать как черновик или исторический хвост — ориентир по факту: только PowerShell). Публичный обзор MCP — в корневом `README.md`. |
| 4 | |
| 5 | ## Локальный publish (Windows) |
| 6 | |
| 7 | **`publish-and-deploy.ps1`** в корне репо: self-contained `win-x64`, копирование в фиксированный каталог (по умолчанию `D:\agent-notes-mcp`), остановка процесса, если он держит файлы. |
| 8 | |
| 9 | ```powershell |
| 10 | .\publish-and-deploy.ps1 |
| 11 | ``` |
| 12 | |
| 13 | Ручная сборка: |
| 14 | |
| 15 | ```bash |
| 16 | dotnet publish AgentNotesMcp.csproj -c Release -o publish |
| 17 | ``` |
| 18 | |
| 19 | В `AgentNotesMcp.csproj` заданы `SelfContained` и `win-x64` для типичного сценария; другой RID — `-r <rid>`. |
| 20 | |
| 21 | ## Кросс-платформенный релиз с Windows (`publish-release-win.ps1`) |
| 22 | |
| 23 | **`scripts/publish-release-win.ps1`** с машины на Windows собирает **win-x64**, **linux-x64**, **osx-x64** и заливает zip в **Generic Package** GitLab через HTTP API (не через job’ы CI). |
| 24 | |
| 25 | 1. Переменные окружения: `GITLAB_URL` (базовый URL инстанса GitLab), `GITLAB_TOKEN` (PAT с `api`). |
| 26 | 2. Примеры: |
| 27 | |
| 28 | ```powershell |
| 29 | .\scripts\publish-release-win.ps1 -Version 2026.03.08 |
| 30 | .\scripts\publish-release-win.ps1 -Version 2026.03.08 -CreateRelease |
| 31 | .\scripts\publish-release-win.ps1 -Version 2026.03.08 -Rids win-x64,linux-x64 -CreateRelease |
| 32 | ``` |
| 33 | |
| 34 | По умолчанию собираются все три платформы; при ошибке одной остальные всё равно могут быть залиты (см. поведение в скрипте). |
| 35 | |
| 36 | ## Несколько remote (зеркала) |
| 37 | |
| 38 | Если нужен один `origin` с несколькими push-URL и отдельный `github`, настройка зависит от хостов команды — см. внутреннюю wiki или операционные заметки канона. |
| 39 | |