[배포 자동화 구축 3] Jenkins와 Github 연동 및 gradle 빌드 세팅
jenkins와 github를 연동하는 방법과 gradle 빌드 환경 구성을 알아볼 것이다.
먼저 서버에 git, java가 설치되어있어야함
AWS EC2 인스턴스 위에 설치한 jenkins에 Github를 연동하는 과정에서 git repository url 등록 후 아래와 같은 오류를 맞딱트려서 삽질을 꽤나 했음.
Failed to connect to repository : Error performing git command: git ls-remote -h (생략)
해당 오류는 aws ec2에 git을 설치하지 않아서 나타난 오류였음.... 아래와 같이 설치 먼저 진행하도록 하자.
git 설치
AWS EC2 인스턴스 위에 git 설치
$ sudo yum install git -y
git 버전 확인
$ git --version
jenkins와 github 연동
연동방법은 아래 블로그 글을 참고했다
[Jenkins] [github] Jenkins와 github 연동하기
[Jenkins] [github] Jenkins와 github 연동하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Jenkins와 github 연결하기 ] 입니다. : ) 이번 포스팅은 Jenkins와 Github을 연동하는 것이 기본 목적이긴 하지..
goddaehee.tistory.com
위의 블로그 내용을 참고하여 생성한 프로젝트를 깃허브와 연동하고 나면 좌측에 GitHub로 이동하는 아이콘이 생김.
제대로 연동이 되었는지 Build Now를 클릭해서 빌드해보면 알 수 있다.
Susscess 라고 뜨면 연동완료
gradle 프로젝트를 빌드하기 위한 설정
gradle 로 빌드하기 위해선 jenkins에 plugin을 설치해야한다.
'Jenkins 관리 > 플러그인 관리' 에서 gradle plugin을 설치한다.
gradle plugin 설치가 완료되면 생성한 프로젝트에 가서 '구성'을 클릭해 gradle 빌드 설정을 한다
빌드유발 > GitHub hook trigger for GITScm polling 체크
Build > Invoke Gradle script 선택
Invoke Gradle script 선택 시, 아래와 같이 2가지로 빌드 설정을 할 수 있다.
- Invoke Gradle : 서버에 설치된 Gradle 이용한 빌드 수행 (새로받은 프로젝트의 Gradle 버전과 로컬에 설치된 Gradle 버전이 호환되지 않으면 문제가 발생할 수 있음)
- Use Gradle Wrapper : 프로젝트 내의 gradle wrapper 이용한 빌드 수행 (서버에 gradle 설치안해도됨. 권장방법)
1. Invoke Gradle 설정
Jenkins관리 > global tool configuration 에서 gradle 설정을 아래와 같이 한다.
다시 생성한 프로젝트의 구성으로 돌아가 아래와 같이 입력해준다.
Gradle Version 은 바로 위에서 설정한 name명을 입력해주면된다.
Tasks 에 clean과 build 입력해준다.
- clean : workspace/build 리파짓토리 삭제 task
- build : build하는 task
Tasks에 입력된 값은 빌드할 시, 아래와 같이 수행한다.
$ gradle build
$ gradle clean
고급 버튼 클릭 후 하단에 build File에 build.gradle 입력한다.
2. Use Gradle Wrapper 설정
아래와 같이 Use Gradle Wrapper 체크, Make gradlew executable 체크 후 Tasks는 위와 동일하게 clean과 build를 입력한다.
Tasks에 입력된 값은 빌드할 시, 아래와 같이 수행한다.
$ ./gradlew clean
$ ./gradlew build
그러면 Jenkins에 gradle 빌드 환경을 세팅 완료~