본문 바로가기

기술면접준비

github action을 이용한 CICD 파이프라인 자동화

CICD : Continuous Integration Contiuous Deployment(Delivery) 

지속적인 통합과 배포

 

깃허브액션 이해하기!

 

github acton - docker - aws ec2

 

깃헙에서

러너 라는 가상컴퓨터(가상머신)를 빌려준다. 

거기다가 내가 구동시킬 코드나, 데이터들을올린다.

 

코드가, 러너라고 하는 컴퓨터 위에서 동작해서 여러가지 자동화된 처리를 할 수 있다

 

이 가상컴퓨터를 빌려주는 서비스 기능이 바로 깃헙 액션이다. 

 

 

 

파이프라인이뭐야
 

ChatGPT의 말:

ChatGPT

**파이프라인(Pipeline)**은 **CI/CD(CI: Continuous Integration, CD: Continuous Delivery 또는 Continuous Deployment)**에서 소프트웨어 개발, 테스트, 배포의 과정을 자동화한 일련의 흐름을 의미합니다. 쉽게 말해, 개발자가 코드를 저장소에 커밋하면 자동으로 코드를 빌드, 테스트, 그리고 배포하는 과정을 순차적으로 처리하는 과정입니다.

파이프라인의 주요 단계

  1. 코드 커밋(Commit):
    • 개발자가 소스 코드를 작성하고 Git 같은 버전 관리 시스템에 커밋(push)하면 파이프라인이 시작됩니다.
  2. 빌드(Build):
    • 코드를 컴파일하거나, 필요한 패키지를 설치하고, 애플리케이션을 실행할 수 있는 상태로 빌드합니다.
    • 예시: 자바 프로젝트에서 Maven을 사용해 코드를 빌드하는 과정이 포함될 수 있습니다.
  3. 테스트(Test):
    • 애플리케이션에 대해 자동화된 테스트를 실행하여, 코드가 올바르게 작동하는지 검증합니다. 단위 테스트(Unit Test), 통합 테스트(Integration Test), 기능 테스트 등이 포함될 수 있습니다.
    • 예시: Node.js 애플리케이션의 경우 npm test를 실행하여 테스트를 통과시키는 과정이 있습니다.
  4. 배포(Deploy):
    • 테스트가 통과되면 애플리케이션을 서버에 배포하거나, 클라우드 환경에 자동으로 배포하는 과정입니다. 이 단계에서는 실제 운영 환경에 애플리케이션이 반영됩니다.
    • 예시: Docker 컨테이너로 빌드된 애플리케이션을 AWS나 GCP 같은 클라우드 환경에 배포할 수 있습니다.

파이프라인의 흐름

파이프라인은 위에서 설명한 과정이 자동으로 순서대로 실행되는 일련의 흐름을 말합니다. 즉, 코드가 커밋되면 빌드 -> 테스트 -> 배포가 차례대로 자동으로 처리되어, 수작업 없이 지속적인 개발과 배포가 이루어지게 하는 프로세스입니다.

깃허브액션 설정파일 -> 내가작성하는거 

: 깃헙액션이 빌려준 가상머신 Runnner가 수행할 작업을 명세하는 역할 

 

 

 

CI/CD 파이프라인 자동화를 구축하지 않는다면,

개발자는 수정사항이 생길때마다 build-> test -> release -> deploy 를

일일히 해야하지만, 깃헙액션으로 파이프라인 자동화를 구축하면?

개발자는 push까지만 하고, 그이후의 일들은 

러너 가 깃헙액션 yml의 작업명세를 바탕으로 , 알아서 실행 해준다!