Как запустить действия Spring server с использованием github

#spring-boot #amazon-ec2 #github-actions

#весенняя загрузка #amazon-ec2 #github-действия

Вопрос:

Я использую github actions для развертывания приложения spring boot на EC2. Это отлично работает, но в конце концов это завершает серверный процесс. Есть ли какой-нибудь способ заставить github runner не прерывать этот процесс, чтобы сервер не останавливался?

Вот изображение рабочего процесса

Короче говоря, я хочу развернуть приложение Spring boot просто с помощью github action, без использования docker или любого другого контейнера.

Комментарии:

1. Извините, не могли бы вы кое-что прояснить. Вы пытаетесь запустить загрузочное приложение sprint в github actions в качестве хоста? Или вы пытаетесь развернуть свое загрузочное приложение sprint в EC2 в aws?

2. Я пытаюсь развернуть его, дело в том, что развертывание прошло успешно, но как мне запустить сервер после развертывания, @EdwardRomero.

Ответ №1:

Я предполагаю, что у вас уже есть все учетные данные aws, поскольку вы можете загрузить код в ec2.

Обычно, когда вы используете изображение docker, есть стартовая команда, например

   ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar application.jar"]
  

это запускает ваше приложение. Итак, нам просто нужно выяснить, как выполнить эту же задачу после того, как ваше приложение будет развернуто на вашем ec2.

В вашем случае я бы выполнил команду отправки в ec2, чтобы она запустила приложение. Предостережение здесь заключается в том, что команда, которую мы отправляем, должна выполняться в фоновом режиме, чтобы мы могли убедиться, что приложение продолжает работать в фоновом режиме после того, как команда отправки вернет ответ

 aws ssm send-command 
    --document-name "AWS-RunShellScript" 
    --parameters 'commands=["nohup sh -c java $JAVA_OPTS -jar application.jar amp;"]' 
    --targets "Key=instanceids,Values=i-1234567890abcdef0" 
    --comment "Start Application"
  

Идея здесь в том, что он запустит приложение Java start в фоновом режиме и вернется. Команда nohup позволяет вам запустить команду в фоновом режиме, и событие, если сеанс завершен, будет продолжено

Ресурсы: команда nohup
команда отправки aws