SpringBoot 백엔드 와 Next.js 프론트를 Jenkins를 이용해서 gitlab에 업로드 될때마다 자동빌드 및 배포를 할 수 있도록 프로그래밍한 내용을 담고 있다.
Nginx로 리버스 프록시와 페이지 리다이렉션을 진행했고, https 세팅까지 진행했다.
삽질끝에 얻은 정보들을 이 배포 시리즈에 최대한 담아봤는데, 많은사람들에게 도움이 되면 좋겠다.😆😍
자동빌드를 하기위해서는 gitlab에 Webhook을 걸어두어야 한다.
Jenkins에 접속까지는 제대로 했다고 생각하고 넘어가겠다.
새로운 Item > Pipeline으로 프로젝트 생성
Definition
에 Pipeline script from SCM
SCM
은 Git
으로 설정Script Path
는 Jenkinsfile
Branches to build
에서 빌드할 Branch
를 선택한다. 나는 release
를 입력하였다.Jenkins관리 > Plugin관리 에서 밑에 2개의 플러그인을 설치해주자.
이것들을 설치해야
Build when a change is pushed to Gitlab~~
옵션을Jenkins
내Build Trigger
에서 찾을 수 있다.(Jenkins pipeline 프로젝트 생성 참고)
git에 push가 감지되면, Jenkins에서 자동으로 재빌드가 되어야 하기 때문에, Webhook을 통해, git에 push를 했을때, 감지가될 수 있도록 해당부분을 세팅하는 것임.
생성한 아이템(Freestyle project or Pipeline 우리는 pipeline을 위에서 세팅했다.)
Build Triggers
에서 Build when a change is pushed~
옵션을 선택하고, 바로 아래에 나오는 복사해 둔다. (git에 가서 WebhookURL에 저장해야됨)고급
을 누르면 밑에 Secret token
이 있고, 거기에서 Generate
를 누르면 토큰이 생성된다. 이것도 복사해두자 (git에 가서 secretToken에 저장해야됨)여기까지 하고 저장하면 Webhook관련하여서 Jenkis에서 할일은 끝났다. 이제 연동할 Gitlab 혹은 Github가서 Webhook 세팅을 마저 해주면 된다.
URL
과 Secret token
에 값 입력하고 Add webhook
을 누르면 세팅 완료!