Jenkins | new job & Github hook by Docker

DoItDev·2021년 9월 29일
0
post-thumbnail
post-custom-banner

젠킨슨을 사용한 무중단 배포

전에 포스팅에 이어서 젠킨슨을 이용한 job 을 만드려고 한다.

일단 서버가 중단이 되면 안됨으로 중단에 무중단으로 배포 job 을 만드려고 한다.

프로젝트의 환경을 spring boot, gradle, docker, git 을 사용을 하기 때문에

나열된 환경으로 세팅 하는 법을 포스팅 하려고 한다.

Create to New Job

젠킨슨 홈에 들어가면 일단 좌측 메뉴 바에서 새로운 item 이라는 메뉴가 있다.

화면 캡처 2021-09-29 100609

그러면 다음 화면으로 나오는데 여러가지 항목이 나온다

첫번째 박스는 job name 을 적어주면 되고

두번째 박스는 freestyle project 를 눌러 주면된다.

다른 항목도 있지만 첫번쨰 젠킨슨 이기 때문에 프리 스타일로 만들어 준다.

화면 캡처 2021-09-29 100623

general 탭에서 설명란에

job 에 대한 설명을 적어준다.

git project 항목을 선택을 해준 후 job 으로 만들 github uri 을 작성을 해준다.

화면 캡처 2021-09-29 100315

다음으로 소스 관리라는 항목이 나오는데

git 을 클릭을 해준 후 위와 같이 git uri 를 적어준다.

credentials 의 경우 private 상황일때 사용을 한다.

하지만 예제 깃 주소는 public 이기 때문에 사용을 하지 않았다.

브랜치 빌드 에서 master 로 선택을 해준다.

만약 다른 브랜치를 사용을 하고 싶다면 작성을 해주시면 됩니다.

화면 캡처 2021-09-29 100429

빌드 유발 (github hook)

빌드 유발 에서는 github hook 을 사용을 하려고 한다.

github hook trigger for gitscm polling 이라는 항목이 있는데

선택을 해주면 된다.

화면 캡처 2021-09-29 100444

이 job 의 경우 gradle 로 빌드가 되기 때문에

invoke gradle script 를 선택을 해준다.

use gradle wrapper 는 gradle wrapper 가 프로젝트에 있기 때문에 선택을 해준다.

그리고 wrapper location 에는 ${WORKSPACE} 을 작성을 해준다.

workspace 의 경우 job의 root 이다.

take 의경우 clean 후 bootJar 를 해준다.

화면 캡처 2021-09-29 100506

Docker build & run

다음으로는 docker 로 빌드를 해줄 것이다.

docker build 는 도커의 dockerfile 빌드 명령어로

dockerfile 를 빌드를 해준다.

${JOB_NAME} 의 경우 우리가 시작할때 만들어주는 명칭을 의미힌다.

docker을 이용한 jar 관련된 페이지입니다. 참고 하시면 될거 같습니다.

다음으로는 기존에 docker container 을 멈추고 지우는 스크립트 이다

아래와 같이 사용을 하는데 | true 를 넣어주는 이유의 경우 실패 하더라도 넘어가기 위함이다.

docker stop [job_name] | ture && docker rm [job_naem] | ture

그리고 이제 가비지한 이미지 들이 쌓이는데 none 이미지 이다.

일단은 버전 관리 없이 latest 라고 최신 버전으로 만으로 관리가 되기 때문에

전에 사용하던 이미지들을 지워 주어야한다.

docker images prune -f 

위의 도커 커맨드를 가지고 실행을 시켜주면된다.

화면 캡처 2021-09-29 100544


github hook 세팅

github hook 필요 하지 않는다면 세팅을 안해줘도 무방하다.

하지만 github hook 의 경우 위의 job 의 브랜치를 세팅을 해주면

브랜치에 push 를 해주면 hook 발생이 되서 job이 자동으로 빌드를 해준다.

시작을 하기위해서는 job 의 세팅된 깃 레파지토리로 이동을 해준다.

화면 캡처 2021-09-29 112018

깃 레파지토리에서 setting 버튼을 클릭을 해준다.

깃 세팅 페이지에 들어가서 webhooks 라고 메뉴가 나오는데

그 페이지로 이동을 하면된다.

화면 캡처 2021-09-29 112032

화면 캡처 2021-09-29 112047

web hooks 페이지에서 우측 버튼을 클릭한후에

project path 를 설정을 해주면 끝이 난다.

path 의 경오 http://젠킨슨 주소:젠킨스 포트/github-webhook/ 이다

화면 캡처 2021-09-29 112114

주의

여기서 만약 git hook 주소를 잘못 적어주면 303 error 가 발생이 되는데

대부분이 경우 주소 마지막에 / 를 넣어주지 않고 있어서 발생이된다.

에러가 발생이 된다면 일단 주소를 한번 확인 해주길 바란다.

화면 캡처 2021-09-29 112128

profile
Back-End Engineer
post-custom-banner

0개의 댓글