본문 바로가기
Research/CICD

CICD_Jenkins vs Github Action

by RIEM 2023. 2. 15.

배포? 밸드? 컴파일

배포란 개발자가 수정한 코드를 서버에 반영하는 것을 말합니다. 그리고 배포하는 과정을 '빌드' 과정이라 합니다.

빌드

  • 소스 코드를 컴퓨터에서 실행시킬 수 있도록 변환하는 것

빌드 툴의 종류

  • 전처리(processing)
  • 컴파일(compile)
  • 패키징(packaging)
  • 테스팅(testing)
  • 배포(distribution)

빌트 툴

  • Ant
  • Maven
  • Gradle

컴파일

  • 코드를 컴퓨터가 이해할 수 있는 언어로 바꾸는 과정
  • 빌드 과정의 일부

Jenkins

설명

  • 개발 작업 자동화, 파이프라인 사용하여 대부분의 언어의 조합과 소스코드 리포지토리에 대한 CICD를 지원하는 도구

동작 방식

  • 자바, 홈브루, 도커, 소스코드 형태로 사용
  • 소스코드는 대부분 자바이며 그 외 그르부, 루비, 앤틀러(ANTLR, Another Tool For language Recognition) 파일이 들어있음
  • 젠킨스 실행 시 웹 화면 생성하여 REST API 호출로 구동

장점

  • 표준 컴파일 환경에서 컴파일 오류 검출
  • 자동화 테스트
  • 코딩 규약 준수여부 체크
  • 프로파일링으로 소스 변경으로 인한 성능 변화 감시
  • 테스트 환경에 대한 배포 작업
  • 다수의 지원 플러그인

GitHub Actions

개념

  • Github 저장소를 기반으로 소프트웨어 개발 Workflow 자동화할 수 있는 도구
  • Runners라는 불리는 github가 호스팅하는 Linux, macOS, Windows 환경에서 실행
  • Workflow 공유 가능

사용 리밋

  • workflow는 저장소마다 최대 20개까지 등록 가능
  • Job 단계는 최대 6시간 실행
  • 플랜에 따라 동시 실행 가능한 Job 수가 다름

장점

  • workflow를 가져다 쓰기 좋다
  • github 연계 서비스
  • 라이브 로그
  • 다중 컨테이너 테스트

차이점

Jenkins GitHub Actions
서버 설치 필요 불필요(클라우드가 있음)
도커 이미지에서 실행 모든 환경과 호환
캐싱 메커니즘을 위해 플로그인 사용 자체 캐싱 매커니즘 작성 필요
공유 불가 마켓 플레이스에 공유
관련 사례 정보 찾기 쉬움 상대적으로 정보가 부족
페이스북, 넷플릭스, 쿠팡, 카페24 등등 업스테이지 AI, Be pro 등등

레퍼런스

'Research > CICD' 카테고리의 다른 글

Github 액션 관련 요약  (0) 2023.12.09
CICD_github action-s3-codedeploy로 CICD 구축하기  (0) 2023.03.10
깃허브 액션 관련 영상 요약  (0) 2023.02.15

댓글