хост убунту приложение (веб сервис на Java Spring) и запустил его собранный образ в контейнере, а также развернул базу postgresql на том же хосте так же в контейнере
Как удобнее всего работать с кодом? То есть я хочу все так же работать с ним локально на винде в IDE и тестить локально
Как я думаю:
У меня должен быть репозиторий приватный, который я буду клонить к себе и работать с ним и пушить изменения на удаленный, оттуда же клонить на хост с убунтой и пересобирать проект
В таком случае появляется дополнительные вопросы:
Первое:
Правильно ли хранить проект полностью в этом репозитории, если он приватный? То есть все креды и данные для подключения к базе. Я думаю, что пока что это ок, но в будущем использовать шифрование к примеру через ансибл
Второй вопрос:
Если другому человеку необходимо будет работать с проектом, либо я хочу склонить к себе на винду, но проект настроен под свой хост, где он развернут, как в таком случае поступать? Переписывать настройки подключения и код под себя - звучит конечно же не хайпово
Пока что в голове мысль о некой инструкции по установке сервиса локально с помощью скриптов для винды и линуха
С другой стороны я подумал, а зачем вообще на винде это тестить, правильнее бы было на таком же хосте убунту, только на виртуалке у себя
Тогда появляется вопрос в том, как работать с кодом через IDE удаленно подключаясь к виртуалке (просто на самой виртуалке в IDE работать не оч удобно)
В случае IntelliJ IDEA нет такого плагина на удаленное подключение, есть только решение платное JetBrains Gateway, но мне кажется вполне можно использовать что то другое, но не нагуглил
Может я слишком заморочился и на практике все гораздо проще, подскажите кому не сложно
Креды лучше хранить в переменных окружения
Идеальным вариантом кажется: Сделать инструкцию и скрипты по разворачиванию сервиса и базы с нуля с убунты - хоть на локальном хоть на удаленном, но единственная пока что проблема которую вижу - неудобно работать с кодом на виртуалке В теории я бы смог это делать через вс код но опять же, звучит неправильно
Пока что они находятся в application.properties
с этими вопросами наверное лучше в чат девопсов
дебажить на проде лютое зло, но если очень хочется открывай (желательно через ВПН) дебаг порт и вперет
Это личный проект, которым никто не пользуется (пока что), поэтому дебаг на проде не влияет
тогда тем более лучше забыт про такие хаки и делать пока на голову не упала корпоративные заморочки по нормальному
в application.properties (кстати, лучше замени на application.yml) можно указать, чтобы пропертя бралась из переменной окружения и дефолтное значение, если этой переменной нет и потом в кубах или докер композе, чем ты там этот контейнер запускаешь, передаешь ему нужные энвы штатными способами (в композ файле или в конфигмапах и секретах кубов)
Зачем заменять на yml?
гораздо лучше читается и меньше места проперти занимают плюс они явно сгруппированы, а не как в properties, где можно как хочешь перемешивать
читаемость - это субъективно, многие такое считают менее читаемым. про перемешивать - тоже иногда можно сгруппировать по-своему для лучшей читаемости
Обсуждают сегодня