Жизненный цикл разработки для модулей с быстрым запуском (с зависимостью от модулей с медленным запуском)

У меня есть приложение с несколькими модулями. Для полного запуска основного модуля требуется около 2 минут, но мне практически никогда не нужно его менять. Я работаю над другими модулями, и они запускаются через несколько секунд, если основной модуль уже запущен. Я пытаюсь оптимизировать свой жизненный цикл разработки, когда меняю код в быстро запускаемом модуле и отлаживаю его.

«Запуск на Kubernetes» был бы великолепен, поскольку он следил за изменениями и повторно развертывал только этот быстро запускаемый модуль. Однако я не могу его отладить.

«Отладка в Kubernetes» - это то, что я хотел бы использовать, но он не отслеживает изменения и автоматически повторно развертывается, а остановка и запуск всего приложения (всех модулей) - это боль, потому что это занимает 2-3 минуты (из-за медленного запуска но никогда не менял стручки).

Я думал о запуске в Kubernetes, а затем использовать Attach для отладки отдельных модулей, но для этого потребуется предварительная настройка модулей / контейнеров для отладки в Dockerfile. Я предполагаю, что если я сделаю это, я смогу отсоединить отладчик и позволить ему повторно развернуть, наблюдая за изменениями, и снова подключиться.

Я играл с несколькими файлами skaffold yaml - один, который включает только фундамент (модуль с медленным запуском), а другой - только для модуля быстрого запуска, где мне нужно внести изменения, но затем мне нужно отключить очистку, чтобы остановить его вручную. Кроме того, кажется, что он продолжает останавливать / запускать minikube, когда я останавливаю / запускаю «Отладку в Kubernetes».

Хотел бы я просто использовать «Отладку в Kubernetes», которая отслеживает изменения и повторное развертывание. Но часы не поддерживаются при отладке.

Я что-нибудь упускаю? Есть хорошие идеи?

1 ответ

@Alex - спасибо, что подали вопрос . Будет продолжено дальнейшее обсуждение этого. Рад слышать, что вам нравится использовать облачную оболочку, мы предоставляем те же возможности, что и в VSCode. Что касается остановки minikube, это предназначено для локальной отладки, но мы можем обсудить больше в заявке. Извините, это пока не позволяет мне комментировать встроенные.

Другие вопросы по тегам