SSH에서 Java Spring Boot 애플리케이션을 실행하는 Bash 스크립트

SSH에서 Java Spring Boot 애플리케이션을 실행하는 Bash 스크립트

파이프라인 작업(SSH를 통해)에서 트리거되는 간단한 bash 스크립트 파일이 있습니다. 이것배포.sh다음과 같은 내용이 다소 포함되어 있습니다.

cd /apps && java -jar "-Dspring.profiles.active=prod " "-Dserver.port=$PORT " \
"/apps/$DEPLOYING_VERSION" &

덜 중요한 다른 논리도 있습니다. SSH를 통한 파이프라인 실행:

bash /deploy.sh ${APPLICATION_NAME}

시작하는 방법배포.shjava -jar를 실행하고 비교하려면배포.sh내 파이프라인(작업)을 완료하는 동시에 Java 애플리케이션이 시스템에서 계속 작동하도록 하려면? 나는 전에 시도했다

cd /apps && nohup java -jar "-Dspring.profiles.active=prod " "-Dserver.port=$PORT " \
"/apps/$DEPLOYING_VERSION" &

그런데 일이 막혔어요...

java -jar를 추적하고 종료하는 것은 멋지지만 지금은 그다지 중요하지 않습니다. :)

답변1

cd /apps병렬로 실행 하려면 java -jar두 개가 아닌 단일 & 기호를 사용해야 합니다 cd /apps & java -jar. 그러나 java -jar이 명령은 /apps 디렉터리에서 실행된다고 가정하면 작동하지 않습니다.

보다 일반적으로 command1 & command2command1과 command2는 독립적으로 병렬로 실행됩니다.

CI/CD 도구(CI/CD 파이프라인에 대해 이야기한다고 가정)는 병렬 작업 실행을 지원할 수 있으므로 파이프라인 정의에서도 이 문제를 해결하려고 시도할 수 있습니다(귀하의 경우에 적합한 경우).

답변2

cd /apps;
nohup java -jar "-Dspring.profiles.active=prod " "-Dserver.port=$PORT " \
"/apps/$DEPLOYING_VERSION" > /apps/spring.log 2>&1 &

마법을 부리세요.

관련 정보