개인프로젝트/자동화

CICD 2차전 - 젠킨스 웹훅방식 구현안내

해아's 2024. 5. 1. 12:06

젠킨스 웹훅방식 구현안내

젠킨스 웹훅 방식은 코드의 변경 사항을 자동으로 감지하여 CI/CD 파이프라인을 실행하는 방식입니다. 이 방식은 GitHub과 같은 버전 관리 시스템과 젠킨스를 연동하여 사용됩니다. 아래는 이 방식을 사용하여 구축한 CICD 기능의 구성입니다.

 

  1. 개발자가 코드 편집기에 git을 통하여 코드를 작업
    • 개발자는 로컬 환경에서 코드를 작성하고 수정합니다.
  2. 개발자가 작업한 코드를 GitHub에 push
    • 작업이 완료되면 개발자는 GitHub에 코드를 푸시합니다.
  3. GitHub webhook에서 Jenkins로 코드 변경이 있음을 알림
    • GitHub에 코드 변경이 발생하면 webhook이 이를 감지하여 Jenkins에 변경 사항을 알립니다.
  4. Jenkins에서 코드 변경을 체크하여 코드를 내려받아서 build step를 진행
    • Jenkins는 GitHub의 이벤트를 트리거로하여 코드를 내려받고 빌드 작업을 실행합니다.
  5. 빌드스탭: 도커파일을 빌드 및 비공개 레지스트리에 push
    • 빌드 단계에서는 Docker 파일을 빌드하고 생성된 이미지를 비공개 레지스트리에 푸시합니다.
  6. 빌드 성공시 빌드후 조치를 실행
    • 빌드가 성공하면 빌드 후 조치가 실행됩니다.
      • 빌드 후 조치에는 다음과 같은 단계가 포함됩니다:
        1. docker-compose.yaml 파일을 변경된 버전으로 수정합니다.
        2. docker-compose up 명령어를 사용하여 변경된 버전으로 컨테이너를 다시 업데이트합니다.

위와 같이 구성된 CI/CD 파이프라인은 코드 커밋과 빌드 도커 컨테이너 업데이트를 자동화하여 개발 프로세스를 효율화합니다. 그러나 자체 서버 환경에서 운영되기 때문에 보안 취약점에 대한 관리가 필요합니다.

728x90
반응형