티스토리 뷰

728x90

jenkins 빌드하면서 분명히 소스 빌드가 성공했는데 docker 빌드하면서 빌드한 jar 파일을 사용하려고 할 때


해당 파일을 찾을 수 없다는 에러가 발생했다.

로그를 자세히 보니 @(골뱅이)가 붙은 workspace에서 실행되는 것을 발견했다.

 

왜 이게 생기나 찾아봤는데 동시 빌드 되면서 생기는 자연스러운 에러라고 했다.

728x90
1. 해당 job의 이름을 가진 workspace에서 소스 빌드를 시작하고 성공함
2. 이 때 외부 개입(직접 build 버튼을 누르거나 webhook으로 인해 자동 실행)으로 인해 job이 또 실행됨
3. 중복적으로 실행되면서 이미 실행되던 job은 해당 job의 이름에 @를 붙인 workspace에서 실행됨 (예: testjob@2, wowjob@2 ...)
4. 그렇게 이미 빌드한 소스파일을 찾지 못하게 됨

 

이러한 과정으로 빌드 실패가 발생했다.

그래서 뭐가 문젠가 하고 살펴봤더니 동시에 빌드하도록 하는 설정인 concurrent build가 켜져있었다..!
jenkins에서는 job을 한 번에 여러 개 실행할 수 있도록 concurrent build를 지원한다.

해당 설정을 끄고 빌드했는데 또 실패..

뭐가 문젠지 가서 서버에 들어가서 보니까 빌드가 실패되면서 workspace가 삭제되지 않았기 때문
계속 @가 붙은 곳에서 실행되고 있었다.

서버에서 직접 해당 workspace를 삭제하고 실행하니 정상적으로 실행됐다 ㅎ

728x90
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크