13.8 Интеграция с GitHub

Bubble можно интегрировать с GitHub, благодаря чему вы можете хранить версию плагина в репозитории и получить все плюсы от их системы контроля версий. Обратите внимание, что основная версия хранится на серверах Bubble , а в GitHub копия плагина. Если вы изменяете код в Git (см ниже), вы сможете подгрузить последние правки в хранилище Bubble .

Соединение с GitHub

Синхронизация с GitHub

Первая синхронизация

В первый раз, когда вы нажимаете на кнопку "Synchronize with GitHub"/"Синхронизировать с GitHub", в вашей учетной записи GitHub создается новый репозиторий. Bubble сгенерирует имя репозитория на основе имени вашего плагина, которое было объявлено во вкладке General/Основные. По умолчанию, Bubble попытается создать закрытый репозиторий. Если вы не используете платный тариф GitHub, эта операция не удастся, а если вы создаете плагин со свободной лицензией, вы сможете создать открытый репозиторий под лицензией MIT.

Обратите внимание, что при удалении репозитория из GitHub, соедиенение будет прервано и следующая синхронизация пройдет в качестве первой. Будет создан новый репозиторий.

Последующие синхронизации

После установки соединения вы сможете регулярно синхронизироваться с GitHub. Во время этого может произойти несколько ситуаций:

  1. Версия в хранилище Bubble (та, что в редакторе) выше текущей версии. Это означает, что вы изменяли плагин в Bubble с момента последней синхронизации, и ничего не объявили непосредственно в GitHub. Более новая версия будет скопирована в Git с автоматическим сообщением о записи изменений.

  2. Вы изменили плагин в GitHub (например, получили запрос на проверку изменений и т.д.) и не изменили версию в Bubble. Новая версия будет загружена с GitHub и вы сможете изменять её.

  3. Обе версии (в Bubble и GitHub) были изменены, с внесением записей об изменении в GitHub, и эти две версии совместимы. Тогда во время синхронизации произойдет слияние версий GitHub и Bubble, и выпустится новая версия.

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

Копирование плагинов

Одно из ключевых преимуществ интеграции с GitHub в том, что вы можете копировать готовые плагины с открытым исходным кодом, если их автор тоже использует GitHub. В таком случае появится кнопка для копирования плагина в ваш аккаунт. Это действие скопирует плагин, создаст ответвление в репозитории и синхронизирует новый плагин с новым репозиторием. Теперь вы можете работать над плагином как обычно и использовать встроенные в GitHub функции ветвления при работе вместе с автором над оригинальной версией плагина.

Структура папок и кода

Форматы файлов

Данные и код представлены в виде JSON файлов, JavaScript файлов или HTML файлов. Вставляемые в страницы HTML заголовки будут HTML файлами,код различных элементов и действий будет на JavaScript. Всё остальное будет представлено в виде JSON файлов, который можно менять с помощью интерфейса Bubble. Будьте осторожны при внесении изменений в JSON файлы, т.к. некоторые изменения могут сделать файлы непригодными для чтения через Bubble.

Структура папок

Папки должны соответствовать архитектуре редактора Bubble. То, что вы можете найти во вкладке Shared Tech находится на корневом уровне, а вызовы API, Элементы и Действия находятся в трех отдельных папках. Объявления API в своем большинстве находятся в JSON файлах, в то время как элементы и действия разделены по подпапкам.

ID

Во время навигации по папкам вы можете заметить некоторые ключи, которые хранятся в JSON файлах и являются уникальными ID (например, "AED"). Они применяются к элементам, параметрам API и т.д. Пожалуйста, не изменяйте эти записи, так как они используются в пользовательских приложениях для представления различных записей (но вы можете изменять подписи и т.д.)

Персональные и учетные данные

При тестировании плагина, в частности API, вы используете некоторые учетные данные для тестирования. Эти данные не синхронизируются с GitHub.

Last updated