Приложение Spring Boot не запускается с использованием SSH - PullRequest
0 голосов
/ 15 марта 2020

У меня есть весеннее приложение, которое успешно работает на промежуточном сервере и сервере 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 приводят к ожидаемому значению.

1 Ответ

0 голосов
/ 16 марта 2020

Оказывается, я поступил об этом неправильно. Существует целая подсистема, предназначенная для запуска сервисных приложений, которая называется systemd

. Вот несколько ссылок, которые помогут любым будущим путешественникам начать работу

...