CICD : Continuous Integration Contiuous Deployment(Delivery)
지속적인 통합과 배포
깃허브액션 이해하기!
github acton - docker - aws ec2
깃헙에서
러너 라는 가상컴퓨터(가상머신)를 빌려준다.
거기다가 내가 구동시킬 코드나, 데이터들을올린다.
코드가, 러너라고 하는 컴퓨터 위에서 동작해서 여러가지 자동화된 처리를 할 수 있다
이 가상컴퓨터를 빌려주는 서비스 기능이 바로 깃헙 액션이다.
ChatGPT의 말:
**파이프라인(Pipeline)**은 **CI/CD(CI: Continuous Integration, CD: Continuous Delivery 또는 Continuous Deployment)**에서 소프트웨어 개발, 테스트, 배포의 과정을 자동화한 일련의 흐름을 의미합니다. 쉽게 말해, 개발자가 코드를 저장소에 커밋하면 자동으로 코드를 빌드, 테스트, 그리고 배포하는 과정을 순차적으로 처리하는 과정입니다.
파이프라인의 주요 단계
- 코드 커밋(Commit):
- 개발자가 소스 코드를 작성하고 Git 같은 버전 관리 시스템에 커밋(push)하면 파이프라인이 시작됩니다.
- 빌드(Build):
- 코드를 컴파일하거나, 필요한 패키지를 설치하고, 애플리케이션을 실행할 수 있는 상태로 빌드합니다.
- 예시: 자바 프로젝트에서 Maven을 사용해 코드를 빌드하는 과정이 포함될 수 있습니다.
- 테스트(Test):
- 애플리케이션에 대해 자동화된 테스트를 실행하여, 코드가 올바르게 작동하는지 검증합니다. 단위 테스트(Unit Test), 통합 테스트(Integration Test), 기능 테스트 등이 포함될 수 있습니다.
- 예시: Node.js 애플리케이션의 경우 npm test를 실행하여 테스트를 통과시키는 과정이 있습니다.
- 배포(Deploy):
- 테스트가 통과되면 애플리케이션을 서버에 배포하거나, 클라우드 환경에 자동으로 배포하는 과정입니다. 이 단계에서는 실제 운영 환경에 애플리케이션이 반영됩니다.
- 예시: Docker 컨테이너로 빌드된 애플리케이션을 AWS나 GCP 같은 클라우드 환경에 배포할 수 있습니다.
파이프라인의 흐름
파이프라인은 위에서 설명한 과정이 자동으로 순서대로 실행되는 일련의 흐름을 말합니다. 즉, 코드가 커밋되면 빌드 -> 테스트 -> 배포가 차례대로 자동으로 처리되어, 수작업 없이 지속적인 개발과 배포가 이루어지게 하는 프로세스입니다.
깃허브액션 설정파일 -> 내가작성하는거
: 깃헙액션이 빌려준 가상머신 Runnner가 수행할 작업을 명세하는 역할
CI/CD 파이프라인 자동화를 구축하지 않는다면,
개발자는 수정사항이 생길때마다 build-> test -> release -> deploy 를
일일히 해야하지만, 깃헙액션으로 파이프라인 자동화를 구축하면?
개발자는 push까지만 하고, 그이후의 일들은
러너 가 깃헙액션 yml의 작업명세를 바탕으로 , 알아서 실행 해준다!
'기술면접준비' 카테고리의 다른 글
CORS 가 무엇인지, 문제 해결은 어떻게? (0) | 2024.10.12 |
---|---|
내가 이해한 배포개발환경 vs 로컬개발환경 (2) | 2024.10.11 |
Docker와 컨테이너, 오케스트레이션? (0) | 2024.10.10 |
JVM (0) | 2024.10.10 |
JAVA 8 버전부터 추가된 Stream (0) | 2024.10.09 |