파이프라인 작업(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 & command2
command1과 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 &
마법을 부리세요.