애플리케이션을 실행한 후 명령을 실행해야 하지만 내 애플리케이션이 실행 중인 경우 터미널이 애플리케이션을 실행하기 때문에 이것이 가능한지 확실하지 않습니다. (Jenkins 파이프라인에 필요합니다)
가능하다면 알고 계시나요?
답변1
이런 종류의 문제는 서비스로 실행되어야 하는 애플리케이션이 있을 때 매우 일반적입니다. 그러나 이 접근 방식에는 몇 가지 문제가 있습니다. 첫 번째는 애플리케이션이 서비스나 데몬으로 실행될 준비가 되지 않았다는 것입니다. 이것이 오늘날 대부분의 사람들이 애플리케이션을 Docker 이미지로 패키징하고 배포하는 이유입니다.
Jenkins는 각 단계가 끝날 때 시작되는 모든 프로세스를 종료하도록 설계되었습니다. 이 동작을 원하지 않으면 JENKINS_NODE_COOKIE
변수를 "dontKillMe"로 설정해 보십시오. 이 같은:
sh "export JENKINS_NODE_COOKIE=dontKillMe"
sh "myApp &"
Jenkins 버전에 따라 BUILD_ID
이 변수를 "donKillMe"로 설정해야 할 수도 있습니다.
감사합니다.