Перейти к содержимому
supastack
Обзор документации
WebTanStack Start

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/desktop/signing.md (or send Accept: text/markdown).

Подпись кода

Подписывайте установщики, чтобы macOS и Windows перестали предупреждать ваших пользователей.

Задать вопрос об этом руководстве
Открыть в

Прохождение для начинающих

Предварительные требования: завершить локальную настройку рабочего стола, включая Rust и инструменты сборки операционной системы. Остановите процесс разработки Tauri перед созданием установщика; оставьте веб-сервер работающим. Запустите каждую проверку ниже из корня репозитория и дождитесь ее завершения, прежде чем запускать следующую. Команды отфильтрованного пакета работают при оформлении заказов только для настольных компьютеров и на всех платформах.

Вкратце: рабочее пространство — это отдельные пользователи, данные и настройки одной команды. Сервер является доверенным сервером; не допускайте попадания ключей провайдера в код браузера и телефона. Миграция — это изменение версии базы данных, при котором создаются или обновляются таблицы. Модель ИИ — это механизм, который отвечает; Каталог моделей — это список доступных идентификаторов моделей и цен на сервере. Поставщик — это внешняя служба, такая как служба искусственного интеллекта, электронной почты или службы выставления счетов. Право — это грант, который позволяет рабочей области использовать функцию. Вебхук — это сообщение, которое одна служба отправляет на URL другой службы.

1. В местном филиале попросите своего агента по кодированию проверить apps/desktop/src-tauri/tauri.conf.json и установить для идентификатора продукта, имени приложения, значков и серверной части URL значения, которыми вы владеете. Используйте общедоступный бэкэнд HTTPS URL для выпускных сборок.

2. Из корня репозитория запустите проверку пакета Desktop, указанную ниже. Перед проверкой: Release-config установите SUPASTACK_APP_URL в этом терминале с помощью команды операционной системы в локальной настройке рабочего стола; общедоступный бэкэнд HTTPS должен быть запущен, а идентификатор приложения должен быть вашим собственным.

3. Успешная сборка не подписывает, нотариально заверяет и не публикует установщик; если Rust или системная библиотека отсутствуют, завершите локальную настройку рабочего стола.

Для пользовательского кода начните с предоставленного prompts/README.md и скопируйте ближайшее приглашение: prompts/new-app-screen.md для экрана приложения или prompts/new-landing-page.md для общедоступной страницы. Для работы с сервером, базой данных или провайдером дайте своему агенту кодирования задание из этого руководства и попросите его прочитать AGENTS.md, .ai/PROJECT_CONTEXT.md и соответствующие зеркала .ai/; проверьте точные исходные файлы, указанные здесь; список файлов и проверки перед редактированием; сохранять права собственности на рабочую область и секреты, доступные только серверу; и покажу вам разницу. Сообщите ему желаемое поведение, поля ввода и вывода, разрешенные роли, ожидаемые успехи и ошибки, а также тестовую учетную запись, поставщика или устройство. Используйте выборочные значения; никогда не вставляйте настоящий секрет.

corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop check:release-config
corepack pnpm --filter @supastack/desktop build

Настройка оболочки продукта

Просмотрите src-tauri/tauri.conf.json, метаданные, возможности и идентификаторы платформы Cargo. Замените значки приложений с помощью процесса общего ресурса и установите предполагаемый серверный компонент URL во время сборки/выполнения. Размещенное веб-приложение уже должно быть развернуто и доступно.

Запустите встроенный шлюз сборки

Эти команды пакета запускают проверку типов и тесты Rust, проверяют настройки выпуска и создают установщик Tauri. Конфигурация подписи и распространения зависит от целевой платформы и вашей учетной записи/сертификатов; не храните материалы для подписи в исходном коде.

corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop check:release-config
corepack pnpm --filter @supastack/desktop build

Проверьте установщик на целевой ОС.

Проверьте чистую установку, запуск, достижимость бэкенда, аутентификацию, меню/трей, регистрацию горячих клавиш, второй экземпляр, глубокие ссылки, повторную попытку офлайн и удаление. Проверяйте каждую поддерживаемую ОС отдельно. Локальная сборка не доказывает подписанное или нотаризованное коммерческое распространение; конфигурацию подписи вы обеспечиваете сами, а поставляемый релизный процесс и фид апдейтера покрыты в «Автообновлениях».

Настройка и конфигурация

1. Неподписанные установщики нормально ставятся на вашу машину, но вызывают предупреждения Gatekeeper и SmartScreen у всех остальных — подписывайте до поставки.

2. На macOS вступите в Apple Developer Program ради сертификата Developer ID, затем добавьте конфигурацию подписи и нотаризации в секцию bundle в src-tauri/tauri.conf.json и передайте Tauri задокументированные env подписи (APPLE_CERTIFICATE, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY плюс креденшелы нотаризации APPLE_API_KEY / APPLE_API_ISSUER) из вашего CI-хранилища секретов.

3. На Windows настройте подпись Windows в bundle — отпечаток сертификата или кастомную команду signtool — с сертификатом, тоже доставленным через хранилище секретов вашего раннера.

# tauri.conf.json ships unsigned today:
#   "bundle": { "active": true, "targets": "all", "icon": [...] }
# Add signing under bundle > macOS / bundle > windows
# and keep every certificate and password in your secret store,
# never in the repo.
# Auto-updater & release channels (stable / beta via {{channel}}):
# SUPASTACK_UPDATER_ENDPOINT=https://releases.example.com/{{channel}}/{{target}}/{{arch}}/{{current_version}}
# SUPASTACK_UPDATER_PUBKEY=…
# SUPASTACK_UPDATE_CHANNEL=stable

Рабочий процесс внедрения

Выделяйте сертификаты через собственное хранилище секретов и внедряйте их как переменные окружения на этапе сборки — сертификат, закоммиченный в репозиторий, это сертификат на отзыв.

Вшейте продакшен-SUPASTACK_APP_URL в ту же релизную сборку, чтобы установленные оболочки указывали на развёрнутое приложение.

Проверка и устранение неполадок

Проверяйте, устанавливая полученный артефакт на чужой машине: ни предупреждения Gatekeeper или SmartScreen, приложение запускается, вход сохраняется. Зелёный tauri build без теста подписанной установки не является доказательством релиза.

Дальше: «Чек-лист развёртывания» на вкладке Web покрывает серверные релизные гейты.