Перейти к содержанию

Хранение проектов и git

Платформа хранит файлы проектов в своей базе PostgreSQL. Git-репозиторий служит источником при запуске и местом, куда пользователи отправляют изменения кнопкой «Push».

Как синхронизируются проекты

  • При запуске платформа читает ветку из ключа git-branch и загружает проекты в базу. Файл из git заменяет версию в базе, только если его коммит новее.
  • Изменения из интерфейса сначала сохраняются в базе (колонка «Сохранено»). В git они попадают по кнопке «Push» (колонка «Закоммичено»).
  • Кнопка «Pull» загружает в проект изменения из git.

Правки в git напрямую

Изменение, которое отправили в git в обход интерфейса, платформа увидит только после «Pull» или перезапуска. Поэтому:

  • после прямого push в git выполните «Pull» в проекте или перезапустите платформу и проверьте файл в интерфейсе;
  • не отправляйте из интерфейса проект, который меняли в git, пока интерфейс не показывает новую версию. Иначе платформа закоммитит свою старую копию поверх ваших правок.

Служебные проекты

Проект Что хранит
configuration Скрипт сборки build.sh и фрагмент пода сборщика builder.pod.jkube.yaml
templates Шаблоны новых проектов: application.properties, deployment.jkube.yaml, configmap.jkube.yaml, ingress.jkube.yaml, docker-compose.yaml, заготовки Java-классов и маршрутов

Служебные проекты открываются в разделе «Настройки». Новый проект получает файлы из templates при создании. Файл log4j2.properties из шаблона в новый проект не переносится, его нужно скопировать вручную.

Во фрагменте пода сборщика не указывайте serviceAccount. Вместе с параметром jkube.recreate=true это приводит к тому, что сборка удаляет сервисную учётную запись платформы.