169 похожих чатов

Товарищи снова к вам с вопросом: Ситуация: Допустим, я залил на удаленный

хост убунту приложение (веб сервис на Java Spring) и запустил его собранный образ в контейнере, а также развернул базу postgresql на том же хосте так же в контейнере

Как удобнее всего работать с кодом? То есть я хочу все так же работать с ним локально на винде в IDE и тестить локально

Как я думаю:
У меня должен быть репозиторий приватный, который я буду клонить к себе и работать с ним и пушить изменения на удаленный, оттуда же клонить на хост с убунтой и пересобирать проект

В таком случае появляется дополнительные вопросы:

Первое:
Правильно ли хранить проект полностью в этом репозитории, если он приватный? То есть все креды и данные для подключения к базе. Я думаю, что пока что это ок, но в будущем использовать шифрование к примеру через ансибл

Второй вопрос:
Если другому человеку необходимо будет работать с проектом, либо я хочу склонить к себе на винду, но проект настроен под свой хост, где он развернут, как в таком случае поступать? Переписывать настройки подключения и код под себя - звучит конечно же не хайпово
Пока что в голове мысль о некой инструкции по установке сервиса локально с помощью скриптов для винды и линуха

С другой стороны я подумал, а зачем вообще на винде это тестить, правильнее бы было на таком же хосте убунту, только на виртуалке у себя
Тогда появляется вопрос в том, как работать с кодом через IDE удаленно подключаясь к виртуалке (просто на самой виртуалке в IDE работать не оч удобно)
В случае IntelliJ IDEA нет такого плагина на удаленное подключение, есть только решение платное JetBrains Gateway, но мне кажется вполне можно использовать что то другое, но не нагуглил

Может я слишком заморочился и на практике все гораздо проще, подскажите кому не сложно

11 ответов

25 просмотров

Креды лучше хранить в переменных окружения

Никита-Нироков Автор вопроса

Идеальным вариантом кажется: Сделать инструкцию и скрипты по разворачиванию сервиса и базы с нуля с убунты - хоть на локальном хоть на удаленном, но единственная пока что проблема которую вижу - неудобно работать с кодом на виртуалке В теории я бы смог это делать через вс код но опять же, звучит неправильно

Никита-Нироков Автор вопроса
Nikolay Veselov
Креды лучше хранить в переменных окружения

Пока что они находятся в application.properties

с этими вопросами наверное лучше в чат девопсов

дебажить на проде лютое зло, но если очень хочется открывай (желательно через ВПН) дебаг порт и вперет

Никита-Нироков Автор вопроса
central hardware
дебажить на проде лютое зло, но если очень хочется...

Это личный проект, которым никто не пользуется (пока что), поэтому дебаг на проде не влияет

Никита Нироков
Это личный проект, которым никто не пользуется (по...

тогда тем более лучше забыт про такие хаки и делать пока на голову не упала корпоративные заморочки по нормальному

Никита Нироков
Пока что они находятся в application.properties

в application.properties (кстати, лучше замени на application.yml) можно указать, чтобы пропертя бралась из переменной окружения и дефолтное значение, если этой переменной нет и потом в кубах или докер композе, чем ты там этот контейнер запускаешь, передаешь ему нужные энвы штатными способами (в композ файле или в конфигмапах и секретах кубов)

Alf
Зачем заменять на yml?

гораздо лучше читается и меньше места проперти занимают плюс они явно сгруппированы, а не как в properties, где можно как хочешь перемешивать

Александр Ушаков
гораздо лучше читается и меньше места проперти зан...

читаемость - это субъективно, многие такое считают менее читаемым. про перемешивать - тоже иногда можно сгруппировать по-своему для лучшей читаемости

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта