ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리로이 젠킨스 CI/CD 구현 1
    스파르타코딩클럽/최종프로젝트 - DevQuiz 2024. 1. 25. 00:22

     

     

     

     

     

    도커컴포즈로 나름 배포도 되고 있기 때문에 이제 셀프 배포를 벗어난 배포 자동화를 구현하여야 했다.

    깃허브액션을 사용하여 쉽게 CI/CD를 적용할지,  러닝커브는 크지만 한번 해두면 든든한 젠킨스로 해볼지

    고민이 많았으나,  CI/CD에 집중할 수 있는 여건이 되어 젠킨스를 한번 사용해 보기로 하였다.

     

     

     


     

     

     

    젠킨스에 대해

    젠킨스 파이프라인 : 자동화 작업의 순서를 정의한 스크립트 언어

    Declarative(선언적) 방식 또는 스크립트 파이프라인 구성방식

     

     

     

     

    젠킨스 파이프라인 섹션

     

    Agent Section

    - 여러 슬레이드 노드를 사용할 경우 어떤 노드에 일을 시킬 것인지 지정

      또는 노드뿐만 아니라 젠킨스 내부 도커 컨테이너에서 수행할 명령 지정도 가능

     

    Stage Section

    - 어떤 일을 처리할 것인지 정의 (카테고리)

      ex. 백엔드 배포를 위한 스테이지 정의

     

    Steps Section

    - 특정 스테이지 안에서의 작업 순서를 정의

    - 플러그인 설치 시 사용가능한 스텝 생성

     

    Post Section

    - 스테이지 종료 후 결과에 따른 후속조치

     

     

     


     

     

    기존 젠킨스 UI에 있는 설정들은 구글링으로도 충분히 적용할 수 있었다.

     

     

    1.  젠킨스 관리 - Credentials   생성

    첫 Credentials은 이걸 눌러서 생성해야한다.

    젠킨스 시크릿키를 사용한 credentials 생성

    도커허브, 깃허브 토큰을 사용하여 credentials 생성

     

     

    2. 젠킨스 관리 - 플러그인 설치

    여기서 검색 후 설치

    publish over ssh  -  ssh를 통해 파일전 송 및 원격 시스템에서 스크립트 실행 가능

    generic webhook trigger  -  웹훅을 통해 젠킨스 작업을 트리거함.  

    github integration  -  깃허브와 젠킨스를 통합하여 깃허브에서 발생하는 이벤트를 감지하여 젠킨스 작업 트리거

    docker pipeline  -  도커를 이용한 CI/CD 파이프라인을 구성하기 위해 필수

      젠킨스파일 내에서 도커명령어 사용가능

      도커 이미지 빌드, 배포 수행 가능 

    git parameter  - 깃태그를 사용한다면 설치

      이후 파이프라인 생성 시에 파라미터를 입력하면 됨

     

     

     

    3. 깃허브 레포지토리 세팅에서 Webhook 설정

    Payload URL 

    해당 젠킨스 URL/github-webhook/   입력

     

    Content type

    application/json   으로 변경

     

     

     


     

     

     

    다음글에는 

     

    젠킨스 파이프라인 생성과   트러블 슈팅에 대해 작성할 예정이다.

     

     

     

     

     

     

Designed by Tistory.