[이슈 해결] Jenkins jdk 버전으로 인한 build 실패

MinSeong Kang·2022년 9월 29일
0

이슈해결

목록 보기
11/12

Jenkins, Docker로 Spring Boot CI/CD를 구축하기 위해 EC2를 두개 생성하고, 하나는 Jenkins Server 다른 하나는 Spring Boot Server를 만드려고 했다.

참고 레퍼런스 를 참고하며, 서버를 구축하려고 했다.

위 레퍼런스와 같이 모든 Credentials를 설정한 후 pipeline script를 작성하였다.

pipeline {
        agent any

        stages {
            stage('github clone') {
                steps {
                    git branch: 'main',
                        credentialsId: 'repo-and-hook-access-token-credentials', 
                        				// Username with password 로 생성한 credentials
                                        // username은 깃헙 아이디, 패스워드는 access token
                        url: 'repository url' // repository url
                }
            }
            
            stage('build'){
                steps{
                    dirs('backend'){
                        sh'''
                            echo build start
                            ./gradlew clean bootJar
                        '''
                    }
                }
            }
        }
    }

파이프라인 실행시 다음과 같이 gihub clone은 성공하였지만, build는 실패하였다. 원인을 찾기 위해 shell script를 확인해 보았는데 자바 버전 차이로 생긴 문제였다.
git clone한 애플리케이션의 자바 버전은 17이고, Jenkins의 자바 버전은 11이었다.

따라서 Jenkins 자바 버전 오류 레퍼런스를 통해 해결해보려했지만,

해당 방법이 먹히지 않았다.

지금 생각해보면 Jenkins를 재시작을 해주지 않아, 안먹힌 것 같기도 하다..!
기회가 된다면, jenkins URL + /safeRestart 를 통해 jenkins를 재시작해주고 다시 적용해보길 바란다.

따라서, 공식 레퍼런스 를 참고하였다.

docker stop 컨테이너ID // 컨테이너 ID를 입력해 docker를 중지
docker container prune // 정지 중인 docker 컨테이너 전부를 삭제
sudo docker run -d --name jenkins -p 8080:8080 jenkins/jenkins:jdk17

다음과 같이 다시 Jenkins 설정을 하고, pipeline을 작성한 후 실행해보았을 때 성공 !!

0개의 댓글