Jenkins 를 이용한 maven 으로 spring-boot 실행하기


안녕하세요. 현재 Jenkins를 이용한 배포환경 구축을 위해 이것저것 해보고 있습니다.

Jenkins(latest) v1.651.1 환경에서 작업하고 있는데, 저장소는 Bitbucket을 이요하고 있습니다. 물론 private 저장소입니다.

Bitbucket의 경우도 인증과정에서 SSH인증이나 OAuth인증을 하려고 했는데 전부 실패해서 현재 아이디와 패스워드를 이용한 인증방식을 사용하고 있는데요, 이 부분도 혹시 조언 가능하시다면 부탁드리겠습니다.

일단, 현재 직면한 문제는 다음과 같습니다.

문제

Jenkins를 이용한 Bitbucket private 저장소로 부터의 소스코드 배포이후 다음과 같은 옵션으로 빌드하였습니다.

[Invoke top-level Maven targets]
Maven version: maven3
Goals: spring-boot:run

위 처럼 Goals 옵션을 주고 빌드한 결과 정상적으로 빌드되어 Spring-boot에 내장된 톰캣이 실행되었으나, 문제는 Jenkins가 해당 빌드를 완료로 하고 프로그래스를 종료하는 것이 아니라 계속 물고 있습니다.

이미 Spring-boot의 내장 톰캣이 온전히 올라온 뒤에서 Jenkins는 계속 In progress... 상태로 콘솔을 출력하면서 유지되고 있는 상태입니다. 이 문제를 어떻게 해결해야 될까요?

  • 2016년 05월 03일에 작성됨

조회수 558


1 답변


좋아요
1
싫어요
채택취소하기

해결 방법 :

echo "mvn spring-boot:run" | at now + 1 minutes

.

아래 내용을 보면 Jenkins 는 빌드로 생성된 자식 프로세스를 핸들하기 어렵다고 하네요.

https://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build

그래서 간단한 해결책으로 위 방법을 많이 사용한다고 합니다.

.

참고 : http://stackoverflow.com/questions/28500066/how-to-deploy-springboot-maven-application-with-jenkins


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close