1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-baserow

Клонировать/Скачать
dev_sh.md 7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.06.2025 16:02 92285f5

./dev.sh

dev.sh — это вспомогательный скрипт на Bash, который облегчает работу с окружением разработки Baserow.

По умолчанию, запуск ./dev.sh запускает окружение разработки, подключается к запущенным контейнерам и гарантирует, что контейнеры запускаются от имени вашего реального пользователя.

Кроме того, контейнеры разработки Baserow настроены таким образом, чтобы процесс подключения был плавным и полезным. В вкладках контейнеров, открытых с помощью ./dev.sh:

  • В верхней части будет отображаться вывод журнала Docker, позволяя вам видеть всё, что произошло в контейнере до сих пор.
  • Вы можете нажать ctrl-c, чтобы остановить процесс, выполняющийся внутри контейнера, оставаясь при этом в сессии Bash внутри контейнера, но не останавливая сам контейнер. Это полезно, так как часто требуется остановить сервер разработки, выполнить команду управления и быстро перезапустить его.
  • Сессия Bash, в которой вы оказываетесь после нажатия ctrl-c, будет иметь заполненную историю, так что вы можете нажать клавишу вверх, чтобы получить команду, которую контейнер выполнял до нажатия ctrl-c!

Примеры использования ./dev.sh:

$ ./dev.sh # то же самое, что и команда up выше, но также гарантирует, что контейнеры запускаются от имени запускающего пользователя!
$ ./dev.sh --build # запускает и пересобирает
$ ./dev.sh restart # останавливает и затем запускает
$ ./dev.sh restart --build # останавливает, собирает и запускает
$ ./dev.sh build_only # только собирает
$ ./dev.sh dont_attach # не создает вкладки и не подключается к контейнерам в конце
$ ./dev.sh dont_attach restart --build # можно комбинировать несколько аргументов таким образом
$ ./dev.sh dont_migrate # запускает, но не выполняет миграции автоматически при старте
$ ./dev.sh dont_migrate dont_sync dont_attach restart --build # еще больше флагов!
$ ./dev.sh run backend manage migrate
# Любые команды, найденные после последней команды `./dev.sh`, будут переданы вызову `docker-compose up`, выполненному dev.sh
# Это позволяет вам использовать --build в конце или любые другие команды docker-compose с помощью dev.sh!
$ ./dev.sh restart {EXTRA_COMMANDS_PASSED_TO_UP}  
$ ./dev.sh down # останавливает окружение
$ ./dev.sh kill # убивает (старый stop_dev.sh)
# ВНИМАНИЕ: restart_wipe удалит ВСЕ тома, связанные с этим окружением, навсегда.
$ ./dev.sh restart_wipe --build
# Dev.sh также поддерживает запуск различных конфигураций Baserow:
# Флаг local запускает неразработочные образы для производства без монтирования кода + горячей перезагрузки и т.д. Однако он собирает новые свежие образы из вашего локального репозитория.
$ ./dev.sh local restart --build
$ ./dev.sh all_in_one restart --build
$ ./dev.sh cloudron restart --build
$ ./dev.sh heroku restart --build
# Привязывайтесь к другим портам на хосте для управления в случае, если они уже запущены и конфликтуют! (также работает с docker-compose up)
$ POSTGRES_PORT=5555 ./dev.sh

Почему ./dev.sh гарантирует, что контейнеры запускаются от вашего имени

В режиме разработки директории контроля версий Baserow монтируются из вашего локального репозитория Git в контейнеры. Благодаря этому контейнеры будут видеть изменения в исходном коде и автоматически пересобираться. Однако, если контейнеры не запускаются от имени вашего реального пользователя, они могут случайно изменить владельца файлов или создать файлы, принадлежащие пользователю, запущенному внутри контейнера. Поэтому, запуская контейнеры от имени вашего пользователя, вы исключаете возможность возникновения проблем с правами доступа к файлам в директориях контроля версий. Кроме того, это лучшая практика не запускать Docker-контейнеры от имени пользователя root по умолчанию.

Настройка поведения по умолчанию ./dev.sh

Вы можете изменить поведение скрипта ./dev.sh, используя встроенные предварительные и последующие хуки. Для этого поместите ваш код в новые локальные файлы .local/pre_devsh_hook.sh или .local/post_devsh_hook.sh в зависимости от ваших потребностей. Эти файлы будут подключены и выполнены каждый раз при запуске скрипта ./dev.sh.

Рассмотрим следующий пример для отключения некоторых действий при запуске Baserow для разработки:

# внутри .local/pre_devsh_hook.sh
sync_templates=false  # Пропускает синхронизацию шаблонов при старте
e2e_tests=false  # Не запускает интеграционные тесты

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-baserow.git
git@api.gitlife.ru:oschina-mirror/mirrors-baserow.git
oschina-mirror
mirrors-baserow
mirrors-baserow
develop