Сборка и деплой

Три сценария публикации: статический сайт, приложение с бэкендом и десктопная программа. Пошаговые инструкции для каждого.

Дата составления: 2026-07-27
Статус: 💡 Актуально


Суть

После того, как вы разработали программу, не всегда понятно, как с ней поступить дальше — особенно если хочется поделиться ею со своими коллегами. В этой статье рассмотрим базовые способы поделиться программой с миром.


Сценарий 1 — Статический сайт (только фронтенд)

Инструменты: GitHub Pages, Vercel

Стоимость: бесплатно

Время: 5—10 минут

Когда подходит: HTML-файл без бэкенда — калькулятор, конвертер, форма, визуализация.

Шаги (GitHub Pages):

  1. Создайте репозиторий на GitHub и загрузите туда .html-файл (и style.css, script.js, если есть)

  2. Перейдите в Settings → Pages

  3. В разделе Source выберите ветку main и папку /root

  4. Нажмите Save — через минуту сайт доступен по адресу https://username.github.io/repo-name

Альтернатива для статических сайтов — Vercel: тоже бесплатный хостинг с автоматическим обновлением при пуше в репозиторий.

Ограничения: нет бэкенда, нет API-ключей, нет баз данных, нет загрузки файлов.

На бесплатном тарифе GitHub Pages публикуются только из публичного репозитория (для приватного нужен платный план). И в любом случае готовый сайт открыт всем, у кого есть ссылка, — не размещайте на нем ничего конфиденциального.


Сценарий 2 — Веб-приложение

Инструменты: Amvera (РФ), Render, Railway, TimeWeb (РФ), Streamlit Community Cloud

Стоимость: от бесплатного тарифа с ограничениями Время: 20—40 минут при первом деплое

Когда подходит: Python-приложение, которое обращается к API нейросети, работает с файлами или хранит данные.

Что нужно подготовить:

  • Файл requirements.txt с зависимостями (нейросеть сгенерирует по запросу).

  • Переменные окружения (API-ключи) — вводятся в настройках хостинга, не в коде.

  • Код приложения в GitHub-репозитории.

Если программа сделана на Streamlit, самый короткий путь — Streamlit Community Cloud: приложение разворачивается прямо из GitHub-репозитория, бесплатно и без настройки сервера.

Остальные инструкции получите у вашей LLM под выбранный вами сервис. С нейросетью же обсудите, какой хостер подойдет под ваши вводные (нагрузка, бюджет, оплата в рублях).

Чек-лист перед деплоем

  • requirements.txt актуален (нейросеть обновит по запросу)

  • Все секреты в .env, не в коде

  • .env добавлен в .gitignore

  • Репозиторий не содержит лишних файлов (кэш, __pycache__, тестовые данные)

  • Переменные окружения добавлены в настройки хостинга

  • Программа протестирована локально перед деплоем


Сценарий 3 — Десктопная программа (.exe / .app)

Инструменты: PyInstaller, GitHub Actions Стоимость: бесплатно Время: 30—60+ минут при первой настройке

Когда подходит: нужно передать программу коллегам без установки Python, или программа работает с локальными файлами.

Сборка через PyInstaller локально:

pip install pyinstaller pyinstaller --onefile main.py

После сборки в папке dist/ появится исполняемый файл. Его можно передать коллегам.

Автоматическая сборка через GitHub Actions:

Создайте файл .github/workflows/build.yml в репозитории. Попросите нейросеть:

«Напиши build.yml для GitHub Actions, который при каждом пуше собирает .exe для Windows и .app для macOS с помощью PyInstaller из файла main.py»

После пуша GitHub сам запустит сборку на облачных машинах. Готовые файлы появятся во вкладке Actions → выбранный запуск → Artifacts.

Ограничение: .exe, собранный на Windows, не запустится на macOS и наоборот. Матричная сборка в GitHub Actions решает это автоматически.

Чек-лист перед сборкой

  • Программа запускается локально без ошибок через терминал

  • Все зависимости прописаны в requirements.txt (попросите нейросеть проверить: «Проверь requirements.txt — все ли библиотеки, которые используются в проекте, туда включены?»)

  • Все секреты в .env, не в коде

  • Дополнительные файлы (иконки, шрифты, локальные данные) подготовлены и указаны в конфиге PyInstaller

  • Сделан git commit — точка возврата перед сборкой


Новый способ дистрибуции: ai-at-runtime

Программу можно доставить и по-новому — отдавать не исходный код, а инструкцию для агента, из которой программа собирается уже на устройстве получателя: под его операционную систему и разрешение экрана. Идею в сообществе предложил Олег Блинов:

Я тебе не исходники передаю, а отдаю инструкции твоему агенту, как создавать программу, и она собирается под твою версию ОС, под твое разрешение экрана.


Что учесть

  • Совместимость библиотек — главная боль сборки. Версии библиотек, версия Python и ваша операционная система должны сходиться между собой. Бывает, что код, который собирался неделю назад, сегодня не собирается из-за обновления или несовместимости пакета. Попросите нейросеть проверить, что все библиотеки совместимы друг с другом, — это экономит часы.

  • При первом деплое закладывайте время на решение неожиданных проблем совместимости.

  • Бесплатные тарифы Render и Railway имеют лимиты — для активно используемого инструмента может понадобиться платный тариф.

  • Закладывайте потребление ресурсов заранее. По умолчанию нейросеть не думает об экономии памяти, и простой бот может потребовать тариф хостинга как у полноценного сайта. На этапе ТЗ и архитектуры прямо просите держать потребление ОЗУ минимальным.

  • GitHub Actions работает бесплатно только с публичными репозиториями.

Что меняется с агентом

  • Берет на себя агент: сгенерирует requirements.txt, напишет конфигурацию, проведет деплой по вашей команде.

  • Остается за вами: выбор хостинга и ввод ключей в его настройки. При этом выбирать хостинг вы можете с LLM: она поможет подобрать провайдера и тариф под ваши потребности.

  • О чем не забыть: понимать, что происходит, все равно полезно — иначе не отличите «не собралось» от «собралось не то».

Подробнее — Кодинг с агентами


Связанные статьи


Теги: #инструкция #средний #вайб-кодинг #деплой