[CI/CD] Github Actions과 Jenkins의 개념과 차이를 알아보자

Yuri Lee·2022년 2월 10일
0

Intro

요즘 회사에서 새로 런칭을 준비하는 프로젝트가 있다. 팀에서는 이를 위해 Github Actions을 사용하기로 했다.
나는 Jenkins만 사용해봐서 처음에 Github Actions이 뭔지도 몰랐다. 😓 그래서 비교하는 글을 한번 정리해 보고자 한다 :)
우선 간단히 이런 설정을 왜 해줘야 하는지에 대해 알아보자.

why?

상상해보자. 수동으로 빌드를 해줘야 한다면 매일 매번, 혹은 주기적으로 여러 복잡한 설정들을 반복해줘야 한다. 이는 복잡성은 물론 많은 시간을 필요로 한다.
하지만 빌드에 필요한 반복되는 과정들을 버튼 하나 혹은 단축키로 자동화 한다면? 그 과정들이 정말 편리해질 것이다.
이러한 이유로 우리는 다음의 방법들을 사용한다.

Jenkins

Jenkins란?

젠킨스는 거의 모든 언어의 조합과 소스코드 레파지토리에 대한 CI와 CD를 무료로 제공한다.

Jenkins 동작 방식

젠킨스는 주요 운영체제용 자바 & WAR 아카이브와 설치 패키지, 홈브루 패키지, 도커 이미지, 소스코드 형태로 사용할 수 있다. 젠킨스를 실행하면 웹 화면을 생성하며 REST API 호출로 구동 된다.

Github Actions

Github Actions란?

github 레파지토리를 기반으로 소프트웨어 개발 workflow를 자동화 할 수 있는 도구이다. 간단하게 말하자면 github에서 직접 제공하는 CI/CD 도구라고 할 수 있다.

Github Actions 동작 방식

workflow는 runners라고 불리는 github에서 호스팅 하는 Linux, macOS, windows 환경에서 실행된다. 이 runners를 사용자가 직접 호스팅 하는 환경에서 구동시킬 수 있다.

Github Actions 과 Jenkins 차이점

JenkinsGithub Actions
서버 설치 필요클라우드가 있으므로 별도 설치 필요 X
작업 또는 작업이 동기화 되어 제품을 시장에 배포하는 데 더 많은 시간 소요비동기 CI/CD 달성
계정 및 트리거를 기반으로 하여 github 이벤트를 준수하지 않는 빌드를 중심으로 함모든 github 이벤트에 대한 작업을 제공하고 다양한 언어와 프레임 워크 지원
......

https://blog.bitsrc.io/github-actions-or-jenkins-making-the-right-choice-for-you-9ac774684c8
https://choseongho93.tistory.com/295
https://wookiist.dev/155

profile
Step by step goes a long way ✨

0개의 댓글