CI/CD(Continuous Integration/Delivery & Deployment)

Trace·2024년 6월 18일
0

Computer-Science

목록 보기
5/10

CI/CD는 개발자가 코드를 짜고 코드를 합치고 코드를 배포하는 과정을 말합니다

이를 CI/CD 파이프라인이라고 합니다

총 3단계로 구성된다

CI continous integration - 코드를 빌드하고 테스트하고 합칩니다

CD continous delivery - 해당 리퍼지토리에 릴리스합니다

CD continous deployment - 서비스에 배포합니다

파이프라인이 주는 장점은 코드 작성부터 합치고 배포까지 좀 더 체계적으로 만들고, 테스트가 강제되어 테스트 없이 배포되어 사용자가 버그를 겪는 경우를 획기적으로 줄일 수 있습니다

빌드

webpack

모듈 번들러(ex. webpack, pacel, rollup)

예를 들어 브라우저는 .html, .js, .css, static파일 등 만 실행 가능한데

.vue 같은 파일들을 웹브라우저에서 실행할 수 있는으로 .html, .js, .css, static파일 등으로 만들어 주는 것

테스트

단위 테스트 - 함수 등 작은 단위를 테스트

통한 테스트 - 모듈을 통합할 때 테스트

end to end 테스트 - 사용자가 서비스를 사용하는 상황을 가정해서 하는 테스트

+코드 보안 테스트

MOCHA, JEST 등 테스트를 위한 프레임워크가 있다

머지

git이나 svn을 이용해 코드를 합치는 것 거의 git 씀

가장 중요한건 충돌을 최소화 하는 것( 서로 의사 소통을 하면서 )

보통은 이슈별로 쪼개서 하나당 commit함

배포

배포는 그저 사용자를 위한 서비스를 배포할 수도 있다고 생각할 수 있지만 그뿐만이 아닌
내부적으로 QA엔지니어나 관리자페이지를 위한 페이지 배포, 데이터웨어하우스로부터 데이터를 가공해서 백엔드 개발자를 위한 배포 등을 포함합니다.

데이터 엔지니어는 의미 없는 데이터를 의미 있는 데이터로 가공해서 백엔드 개발자에게 전달해야 하는데 이 또한 배포라고 할 수 있다

github action, genkins, circle ci 가 유명, heroku(PaaS 클라우드)를 통해 CI, CD 설정 없이 자동 가능, heroku + github action으로 설정도 가능

github action, genkins, circle ci가 유명하며 heroku를 통해 CI, CD 설정 없이 자동 가능 참고로 heroku + github action 으로 설정도 가능.
profile
개발하는사람

0개의 댓글