CI/CD에 대하여

Juno_Dev1·2025년 11월 20일

CD/CD

목록 보기
1/2

💡CD/CI에 대해서

저는 아내랑 같이 레고를 만드는 영상을 찍어서 올린다음 보관하는 곳에 두거나 보는 것을 좋아합니다. 한번은 해리포터(아내가 영국인이라) 레고를 같이 만들어서 영상을 찍어서 올린적이 있어요. 유튜브가 자동 검토 후 영상을 올려줍니다.. (1시간 걸렸어요). 아내랑 레고 같이 만들면서 아내는 파트 2, 전 파트 1을 맡아가면서 같이 했어요 .. 그러고 다시 합쳐서 조립을 다시 합니다... 영상을 찍다가 조립하던 부분이 이상이 있으면 영상을 잠시 끊었어여 ㅋㅋㅋㅋㅋ... 해당부분을 체크후 다시 조립... 하져 ....

CI/CD 는 해당 과정과 비슷 합니다. 작업자 분들이 작성한 코드들을 자동으로 테스트한 후, 문제가 발생한다면 문제를 해결후, 최종 결과물을 배포하기 직전까지 도와줍니다. 마치 아내랑 제가 해리포터 레고를 조립하면서 문제가 생기면, 잠시 멈추고, 문제를 해결하고 다시 재 조립 하는 과정인 것 처럼요.

BODY

💾 CI (Continuous Integration)

한글로 지속적인 통합을 의미하는 CI는 작성된 코드들을 지속적으로 통합한후 지속적으로 테스트 하는 과정을 의미합니다. 이를 통해서 소프트웨어 품질 개선, 버그를 신속히 찾아서 릴리즈 시간 단축 하는 데 기여를 합니다

💾 CD (Continuous Deployment)

지속적인 배포 라는 의미를 가진 CD는 CI로 테스트가 완료된 코드를 자동 배포하는 과정을 의미합니다
일련의 자동화를 통해서 운영 리소스 절감과 멱등성을 가지고 있는 배포 결과를 통해서 코드에대한 신뢰성을 올립니다.

git lab, AWS CodePipeline / CodeBuild / CodeDeploy, Azure dev Ops 등등 있는데 저는 GitHub action 에대해서 좀더 공부를 해보려고합니다.

💻 Github action이란 ?

저희는 깃허브를 자주 써서 그런지 뭔가 익숙해 보입니다. 전세계적으로도 마찬가지 인거 같은데, 이것때문인지 모르겠으나 전세계 1등으로 쓰이는 CI/CD 서비스 입니다.

❗️Core 개념

깃헙액션을 다룰때 중요한 핵심개념들은 6가지로 구성되어져 있습니다.

  1. 작업 흐름도(workflow)
    자동화 된 전체 시스템을 의미 합니다... 여러개의 Job으로 구성되어져 있고, Event에 의해 트리거될수 있는 시스템.

  2. Event
    컴퓨터 공학에서의 이벤트는 시스템이나 프로그램에서 의미 있는 상태 변화가 발생했을 때를 말합니다. 즉 workflow를 실행할 특정 행동을 이벤트라고 합니다.

  1. Job

Job은 하나의 가상 환경 내에서 발생하는 객체로써, 여러가지의 단계(step)으로 구성 되어져있습니다. 다른 job들과 의존적인 관계를 맺을 수 있고, 독립적으로 병렬로 실행이 가능 합니다.

  1. Step

Job 내에 순차적으로 실행되는 프로세스이며, step에서 명령을, 혹은 action을 실행 할수 있습니다.

  1. Action

Job을 구성하기 위한 step들의 작은 조합. 워크플로에서 가장 작은 작업 단위입니다

  1. Runner

    Gitbub Action Runner 어플리케이션이 설치된 머신으로, Workflow가 실행될 인스턴스

SUMARRY

step < job < workflow

0개의 댓글