🌼 CI/CD
개발 단계부터 배포까지의 모든 단계를 자동화를 통해 효율적이고 빠르게 배포하는 것
CI/CD는 DevOps 엔지니어의 핵심 업무
⛔️ CI
지속적인 통합
빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장
공유 Repositiory에 통합되어 여러 개발자가 동시에 개발을 문제없이 진행할 수 있도록 한다.
동시에 개발을 진행하면 각각의 commit이 계속 쌓이고 이를 나중에 build/test/merge 하면 수 많은 에러가 나온다
자동화된 빌드&테스틑는 소스코드들의 충돌 등을 방어하는 이점을 제공
⛔️ CD
지속적인 배포
소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 관리하자는 개념(지속적 제공으로 사용)
지속적 제공 : CI를 통해, 새로운 소스코드의 빌드와 테스트 병합까지 성공적이라면
빌드와 테스트를 거쳐 Github와 같은 저장소에 업로드하는 것
이렇게 성공적으로 병합된 내역을 저장소뿐 아니라 배포환경까지 자동화를 하는 것