Я хотел бы попросить некоторые рекомендации для рабочего процесса разработки для приложения со стеком, упомянутым в заголовке. Прежде чем я переключился на использование Docker, все что мне нужно было сделать:
- Перейдите на start.spring.io и загрузите стартовый файл проекта
- Импортируйте его в intelliJ
- Разработкафункции, нажмите зеленую стрелку, чтобы запустить приложение, или красный квадрат, чтобы остановить и повторять его при каждом изменении кода
Теперь, когда я переключился на докер, после шага 2 я делаю это:
- Создайте Dockerfile и docker-compose.yml (где я запускаю свое приложение, а также службу mysql).
- Щелкните правой кнопкой мыши на docker-compose и нажмите run. Затем он создает образ моего приложения (я использую флаг --build в своей конфигурации запуска, чтобы он создавал образы каждый раз, когда я нажимаю команду run на docker-compose) и запускает два сервиса: app и mysql, и все работает.
Проблема в том, что когда я изменяю sth в своем коде, мне нужно:
- Выполнить mvn clean и установить шаги вручную, чтобы создать новый jar в папке / target
- Затем остановите предыдущую композицию докера и запустите ее снова. Затем он создает новые образы из того, что находится в / target
Я бы предпочел иметь что-то вроде решения в один клик, как это было до того, как я начал использовать docker. Поэтому, когда я меняю код, я нажимаю только одну кнопку, и новое изображение генерируется и запускается со всеми примененными изменениями. Является ли это возможным? Я что-то пропустил? Не могли бы вы сказать мне, если ваш рабочий процесс похож на мой? Может быть, вы могли бы порекомендовать некоторые инструменты или другой конфиг?