Обзор
После того как ваше приложение собрано и протестировано локально, у вас есть два пути для его распространения:- Опубликовать в npm — разместите ваше приложение в маркетплейсе Twenty, чтобы любое рабочее пространство могло его найти и установить.
- Отправить tarball — разверните приложение на конкретном сервере Twenty для внутреннего использования, не делая его общедоступным.
Публикация в npm
Публикация в npm делает ваше приложение видимым в маркетплейсе Twenty. Любое рабочее пространство Twenty может просматривать, устанавливать и обновлять приложения из маркетплейса непосредственно из интерфейса.Требования
- Учётная запись npm
- Название вашего пакета должно использовать префикс
twenty-app-(например,twenty-app-postcard-sender)
Шаги
- Соберите приложение — CLI компилирует исходные файлы TypeScript и генерирует манифест приложения:
- Опубликуйте в npm — отправьте собранный пакет в реестр npm:
Автоматическое обнаружение
Пакеты с префиксомtwenty-app- автоматически обнаруживаются каталогом маркетплейса Twenty. После публикации ваше приложение появится в маркетплейсе в течение нескольких минут — ручная регистрация или одобрение не требуются.
Публикация через CI
Сгенерированный шаблоном проект включает workflow GitHub Actions, который выполняет публикацию при каждом релизе. Он запускаетapp:build, затем npm publish --provenance из результатов сборки:
yarn install, npx twenty app:build, затем npm publish из .twenty/output.
Внутреннее распространение
Для приложений, которые вы не хотите делать общедоступными — собственные инструменты, интеграции только для предприятия или экспериментальные сборки — вы можете отправить tarball напрямую на сервер Twenty.Отправка tarball
Соберите приложение и разверните его на конкретном сервере одним шагом:Управление версиями
Чтобы выпустить обновление:- Обновите значение поля
versionв файлеpackage.json - Отправьте новый tarball командой
npx twenty app:publish --server <server-url> - Рабочие пространства на этом сервере увидят доступное обновление в своих настройках
Внутренние приложения ограничены сервером, на который они отправлены. Они не появятся в публичном маркетплейсе и не могут быть установлены рабочими пространствами на других серверах.
Категории приложений
Twenty группирует приложения в три категории в зависимости от способа их распространения:| Категория | Как это работает | Отображается в маркетплейсе? |
|---|---|---|
| Разработка | Локальные приложения в режиме разработки, запущенные через yarn twenty app:dev. Используются для сборки и тестирования. | Нет |
| Опубликовано | Приложения, опубликованные в npm с префиксом twenty-app-. Отображаются в маркетплейсе, доступные для установки любому рабочему пространству. | Да |
| Внутренний | Приложения, развернутые через tarball на конкретном сервере. Доступны только рабочим пространствам на этом сервере. | Нет |