У меня есть несколько Java-приложений, в основном с Spring Boot, на разных серверах (Droplets) от Digital Ocean. Ранее я загружал каждый новый выпуск вручную, и с помощью созданных сценариев оболочки я могу запускать / останавливать приложения. Эти сценарии содержат переменные среды, когда это необходимо для тестовой или производственной среды. Чтобы проверить, запущено ли приложение, у меня запускается cronjob каждые 5 минут, этот cronjob выполняет сценарий оболочки для запуска приложения, если оно не запущено.
Однако я перешел на автоматическое развертывание с использованием конвейеров Bitbucket, и теперь у меня больше не будет сценариев оболочки, потому что вся конфигурация будет предоставлена конвейером Bitbucket и будет выполняться через SSH.
Например, cat environment.sh start.sh | ssh xxx@yyy
, где environment.sh
создается на лету конвейером с правильной конфигурацией в этот момент для каждой среды.
Как я могу что-то сделать, чтобы приложение автоматически запускалось, если оно не запущено? Должен ли я загружать файлы сценариев при каждом автоматическом развертывании и использовать cronjob?