ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jenkins
    카테고리 없음 2023. 2. 20. 22:02

    개요

    • Jenkins 왜 사용하는지 알아보고, 사용 방법에 대해서 정리

     

    배경

    • 프로젝트를 진행하면 서비스를 배포하기까지 개발, 테스트, 빌드 등 많은 과정들이 필요하다. 이런 과정을 매번 수행하기에는 번거롭고 많은 투자가 필요하다. 이러한 반복적인 작업을 해결하기위해 만들어지기 위해 만들어진것이 CI/CD이다.

     

    젠킨스란?

    • 세계적으로 많은 개발자들이 사용중인 CI툴이다.
    • 다수의 개발자들이 하나의 프로그램을 개발할 떄 공유 영역인 Git등의 저장소에 저장된 프로젝트를 버전 충돌을 방지하며 지속적 통합이 가능하도록 해준다.

     

    왜 사용하는가?

    • 젠킨스를 사용하면 개발자들은 코드를 저장소에 커밋할때마다 자동으로 빌드 및 테스트를 수행할수 있다.
    • 개발자들은 더욱 빠르게 통합하고, 코드 변경사항에 대한 피드백을 더욱 빠르게 받을수 있다.
    • 인간의 실수로 인한 버그를 줄이고, 코드 품질을 향상 시킬 수 있다.

    따라서, 젠킨스를 사용하면 개발자들은 더욱 효율적으로 코드를 통합하고, 더욱 높은 코드 품질을 달성할 수 있다.

     

    Jenkin의 장점

    • 많은 유저들이 사용하여 많은 레퍼런스가 존재한다.(문제해결 용이)
    • 편의를  위한 많은 플러그인이 제공되고, 통합가능한 API를 제공한다. → 유연하고 확장성있는 CI/CD파이프라인 구축이 가능함.
    • 여러대의 빌드 서버를 사용하여 동시에 여러 프로젝트 처리가 가능하다.
    • 웹 인터페이스를 제공하여 사용이 편리하다.
    • Java기반이라 JDK, Gradle, Maven의 설정을 편리할게 할수 있어 Java기반의 프로젝트를 진행하는 사용자들이 빌드 설정을 하기 간편

     

    Jenkins CI 파이프 라인 순서 요약 (AWS)

    • 기본(깃 허브)

    인스턴스를 생성   보안 그룹  생성 4개(포트 번호:22[default], 80, 7777, 50000) // 위치무관으로 생성 쉘 프로그램과 연결 (기본 포트 22로 연결시 오류가 발생하므로 openssh-server를 설치하여 준다.) 관리자 권한으로 실행 → jdk설치 젠킨스 설치 기본포트 7777로 변경  젠킨스 재시작  초기비밀번호를 입력해서 unlock  install suggested plugins 사용자 설정  깃 레포지토리 포크 하거나 생성 하여 작업 Maven 빌드를 위한 플러그인 설치(maven Integration, maven Invoker)  치한 maven 등록  pipeline으로 새로운 프로젝트 생성(자신의 깃허브와 연동)  빌드하여 테스트  젠킨스 파일을 깃허브 레포지토리에 생성  프로젝트에 있는 구성으로 접속하여 SCM 깃허브 연결

     

     

    Jenkins 작업

     

    1. 변경사항을 Jenkins파일을 통해서 작성후 Git으로 push한다.
    2. Git에서 push되어 받은 자료를 Git Hook을 통해 정기적으로 Jenkins가 확인한다.
    3. Jenkins 테스트 과정을 다양한 Jenkins Slave에서 실행시키면서 독자적인 테스트 환경을 만든다. 
      > 위와 같이  slave에서 실행시키는 것도 가능하고 master에서 실행시키는것도 가능한데 master에서 실행시키면 충돌이 발생한다.
    4. Jenkins Slave를 통해 얻은 결과물을 Jenkins Master가 받아 테스트를 보고한다.

     

    아래 링크는 GitHub Actions 와 비교하는 블로그이다.

     

    https://choseongho93.tistory.com/295

     

    [CI/CD] Jenkins 과 GitHub Actions의 개념, 차이점

    [CI/CD] Jenkins 과 GitHub Action의 개념, 장단점에 대해 포스팅하겠습니다. JenKins와 GitHub Action 소개와 차이점을 앞서 배포, 빌드, 컴파일에 대해 간략하게 알고 싶다면 아래 링크를 참고해주세요. ▶빌

    choseongho93.tistory.com

     

     

    인스턴스 만들고 깃 훅으로 연결한 후 IAM 생성후 EKS클러스터 구성 도커 푸시 

Designed by Tistory.