Jenkins에서 스크립트를 실행할 때 Nohup이 작동하지 않습니다.

Jenkins에서 스크립트를 실행할 때 Nohup이 작동하지 않습니다.

다음을 실행하는 bash 스크립트가 있습니다.

nohup ws --port 8080 &

원격 서버에서 해당 스크립트를 직접 실행하고 연결을 닫을 때 프로세스가 여전히 존재합니다. 하지만 Jenkins "SSH 플러그인"을 사용하는 경우 Jenkins가 연결을 닫은 후 프로세스가 중지됩니다. 해당 스크립트를 실행하려면 간단한 명령 sh scriptName.sh를 사용하고 있습니다.

답변1

가장 간단한 해결책은 "nohup" 대신 "at now"를 사용하는 것입니다.

귀하의 작업 jenkins (쉘 실행)에 다음을 입력하십시오.

set +e #so "at now" will run even if java -jar fails
#Run java app in background
echo "java -jar $(ls | grep *.jar | head -n 1)" | at now + 1 min

관련 정보