Devops

gitHub & Jenkins CI/CD 적용 (3/4)

댕발바닥 2024. 6. 2. 22:49

이번 포스팅은 간단한 프로젝트를 gitHub & 젠킨슨 파이프라인을 만들어 빌드 진행 예정입니다.

 

이전 포스팅을 진행할 때는 로컬 환경에서 Jenkins를 구성하였는데 그렇게 되면 github webhook을 이용하는데 제한이 생겨서 클라우드 환경으로 옮겨서 진행을 했다.

 

 

Github WebHook

github webhook 설정 페이지 들어가서 url을 설정해 줬다. 아래와 같이 기본 URL을 설정해 주었고 각 환경에 맞는 host, port를 적용해 주면 된다.

http://{host}:{port}/github-webhook/

 

추가적으로 클라우드 환경에서 방화벽 허용을 진행하기 위하여 github webhook ip를 허용 진행했다.

140.82.112.0/20

 

 

Docker 환경 Jenkins 설치

※ 도커는 설치 진행하였다고 가정하여 진행하겠다.

 

docker pull jenkins/jenkins

 

docker hub를 통하여 jenkins를 이미지를 다운 받았다.

 

docker run -d --restart always --name jenkins -p {port}:{port} --network {network} -v {volume}:/var/jenkins_home jenkins/jenkins

 

jenkins를 실행할 때 port 포워딩 설정 후 네트워크 설정을 진행해 줬다.

 

중요했던 점은 젠킨슨 정보가 변경되지 않게 볼륨을 설정해 주는 부분이 중요했다. 초기 패스워드도 해당 디렉터리에서 확인이 가능했다.

 

 

Jenkins Pipeline 생성

 

jenkins 파이프라인 프로젝트를 생성해 준다.

 

 

 

github project url을 설정해 주고 hook 설정에 체크를 해준다.

 

 

파이프라인에 간단하게 git pull 설정을 진행해 주었다.

 

이후 git에 해당 브랜치 이벤트가 감지되면 web hook을 통하여 jenkins 빌드가 되는 것을 확인할 수 있었다.

 

이제 거의 다 되어간다. 파이프라인을 조정하여 CD까지 진행하면 마무리가 될 것 같다.