Как организовать разработку Python приложения? (debug / release)

Разрабатываю Discord бота. Перед запуском релиза на основном клиенте, тестирую его на другом боте на специальном тестовом сервере.

Когда некое состояние кода (когда был дописан новый функционал/профикшены баги, всё протестировано) можно считать за релиз, он благополучно запускается через командную строку.

Дальше, образуется вот такая дилемма: если продолжить писать код в папке с проектом, то запустить релиз я не смогу из-за некоторых изменённых файлов, в которых не факт что я всё не поломал.

Достаточно продолжительное время в папке проекта у меня была папка dev, в которой я писал код, и когда я заканчивал, копировал из него файлы в корень проекта и запускал приложение. И это реально решало проблему. Я имел возможность запускать код в разработке на одном клиенте и одновременно запускать стабильный релиз когда мне вздумается.

Со временем начала бесить фактически полная идентичность корня проекта и папки dev.

В условном C++, в ещё более условной папке bin, есть 2 подкаталога: debug и release. Скомпилировав проект в release, я всегда его могу оттуда запускать, а смотреть как работает новый код можно через .exe в debug - для меня это является сверхудобной штукой.

Недавно я обнаружил для себя Docker. Примерная идея - заворачивать релиз в контейнер и хранить в отдельной папке в удобном формате (+ к стабильности за счёт упаковки зависимостей).

Правильно ли я думаю? Может можно проще? Как обеспечить удобное "переключение" между пишущимся и стабильным кодом?


Ответы (0 шт):