У меня есть весеннее приложение, которое успешно работает на промежуточном сервере и сервере prod. Пришло время автоматизировать развертывание.
У меня есть сценарий restart.sh
на моем промежуточном сервере. если я ssh
захожу на сервер и запускаю его от имени пользователя, все работает как положено.
команда для запуска: nohup ./restart.sh
# restart.sh
kill $(ps -aux | grep plenti-app | grep java | awk '{print $2}')
java -jar -Dspring.profiles.active=staging plenti-app
Однако, когда я пытаюсь запустить команду - s sh, он не может сказать, что аутентификация по паролю для моей базы данных не удалась.
ssh user@$STAGING_IP "./restart.sh"
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "gszbybjk"
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:520) ~[postgresql-42.2.9.jar!/:42.2.9]
Сначала я подозревал, что это может быть связано с переменными среды, поскольку именно так я храню учетные данные базы данных, но s sh вызовы ssh user@ip echo $DB_PASSWORD
приводят к ожидаемому значению.