Я работаю над приложением, которое имеет много компонентов, а именно:
- Это приложение для колб
- имеет веб-интерфейс, хранит файлы конфигурации в
/etc/this_project
используется база данных PSQL.
Я хочу выяснить, как автоматизировать все компоненты для установки, когда я устанавливаю это на новых машинах. Я хочу, чтобы это было максимально просто. Я рассмотрел:
- Создание пакета RPM
- Создание пакета в пипсах
- Создание пользовательского установщика с использованием сценариев оболочки, go или python
- Ansible setup.
Я рассматриваю возможность использования Flyway для настройки БД, pip для файлов site-packages
, а затем, может быть, пользовательский установщик для остальных? Я бездельничал с пипсами setup.py
, и было очень трудно распространять все файлы, не относящиеся к site-package
, туда, куда они должны были пойти. Что у меня есть в моем репо это:
-project
---dist-files (site-packages)
---www-files (needs to go to a different dir)
---etc-files (needs to go to /etc/this_project
---db-files (schema setup)
Так, да, как мне получить их там, где они должны быть? Я предполагаю, что это будет комбинация вещей, я просто ищу «стек», который мне нужен, чтобы понять это.