1편에서 다룬 내용을 모두 수행해야 2편의 작업이 수행 가능합니다.
>> Jenkins 자동 배포 1편 바로가기 <<
이제, Jenkins 대시보드에서 새로운 Item을 만들어보자.
대시보드 > 새로운 Item을 선택하면 다음과 같은 창이 뜨는데, 여기서 아이템 이름을 마음대로 정하고, Freestyle project를 선택하자.
그 다음 오른쪽 메뉴바에서 구성을 선택한다.
구성의 General에서 이제 우리의 Github Project를 등록해주어야할 때가 왔다 🚀
하지만 그 전에, 깃허브에서 해 주어야할 설정이 있다.
우리가 젠킨스와 연결할 깃허브 레포지토리에 접속한다.
해당 repository > settings > Webhooks > Add webhook을 선택한 뒤, 입력창을 채워준다.
Payload URL - http://{Jenkins EC2 public IP}:{연결 포트}/github-webhook/ (
ex. http://123.456.78.9:8080/github-webhook/)
Content type - application/json
그리고, 이제는 깃허브 내 계정의 Settings에 들어간 뒤, Developer Settings의 Personal access tokens 탭에 접속한다.
여기서 generate new token을 선택한 뒤, 다음의 값들을 선택한다.
그렇게 personal access token까지 생성되었다면, 다시 Jenkins 대시보드로 돌아가자.
이제, 대시보드 메인 화면에 우리가 등록한 아이템이 보일 것이다. 그 아이템을 선택한 뒤, 구성으로 다시 들어가자.
구성에서 먼저 General 부분을 설정해줄 것이다.
Github project를 체크한 뒤, project url에 연결할 레포지토리 주소를 기입한다. 여기서 주의할 점은 마지막에 /를 붙여야한다.
그 다음은 소스코드 관리이다.
소스 코드 관리에서 Git을 선택하고, 연결할 레포지토리의 주소를 .git을 붙여 작성한다.
그 다음, 레포지토리에서 배포에 관여할 브랜치를 작성해준다. 나의 경우 step1 브랜치를 배포하므로 */step1으로 작성하였다.
그리고 이제 브랜치 위의 Credentials의 Add를 누르고, Jenkins 버튼을 누르면 아래와 같은 이미지가 뜰 것이다.
여기서 우리는 Kind를 Secret Text로 변경해준 뒤, Secret 탭에 아까 생성한 Github Personal Token을 복붙해서 넣어준다.
ID와 Description은 자유이다.
그 다음, 빌드 유발을 Github hook trigers for GITScm pollling을 선택하고, Build에서 Use Gradle wrapper를 선택한다.
우리 프로젝트에서 빌드 시 wrapper를 선택하도록 되어있기 때문이다.
사진에서는 짤렸는데 Tasks에는 clean build를 입력한다.
그리고 빌드 후 조치를 작성한다.
Source files - build/libs/*.jar (소스파일이 위치한 경로)
Remote prefix - build/libs (자르파일을 가져올 때 remote prefix로 적은 부분을 제외하고 jar파일만 가져오게 된다.)
Exec commad - ./home/ubuntu/deploy.sh (자르 파일 실행 시 기존에 실행 중인 PID를 죽이는 등의 작업을 하는 shell script)
이렇게 모두 설정을 마쳤다면, Apply 및 저장을 하고, 로컬에서 push를 하면 된다!!!!!!!
push를 하면, Jenkins Item 대시보드의 Build History에서 다음과 같이 내역을 확인할 수 있다.
끗!
안되는 거 있음 댓글 부탁~