CI 지속적인 통합(Continuous Integration) /CD(Continuous Delivery)
빌드/테스트 자동화 과정. CI 는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration) 을 의미함.
애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합 되기 때문에, 여러 개발자가 동시에 애플리케이션 개발 코드에 작업을 할 경우 충돌할 수 있는 문제 해결 가능.
CD 지속적인 배포 (Continous Delivery)
지속적 배포 : 빌드, 테스트 및 배포 단계를 자동화하는 DevOps 방식을 논리적 극한까지 끌어올린다. → 코드 변경이 파이프라인의 이전 단계(CI 과정)를 모두 성공적으로 통과하면 수동 개입 없이 해당 변경 사항이 프로덕션에 자동으로 배포

CI CD종류 :
Jenkins
CircleCi
TravisCi
TeamCity
Github Actions
우선 jenkins를 설치함에 있어서 2가지의 방법이 있었다.
로컬에 jenkins를 설치하는 것
aws - ec2 에 jenkins 를 설치하는 것
둘 중 하나를 고민하다가, 결국 2번째 방식으로 하기로 했다.
그 이유는 프로젝트를 함에 있어서 언젠가 aws를 사용해야 했고, 인프라를 구축함에 있어 최대한 많은 경험 및 공부를 해보고자 EC2와 도커를 활용하여 jenkins를 설치하기로 했다!!