일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- rn
- D반8조
- 알pdf #파일탐색기미리보기안될때
- 알고리즘기초주차
- 멍친구
- 스파르타코딩클럽
- 웹개발종합반
- 프론트엔드
- 팀워크최고
- NotionAI
- 코린이
- 달리기반
- 리액트
- 7기
- ReactNative
- 맥린이
- TDD
- 필수강의
- 항해99
- TS
- Expo
- ChatGPT
- Programmers
- typeScript
- Ai
- 실전프로젝트
- 사전준비
- 프로그래머스
- 챗GPT
- REACT
- Today
- Total
FrontEnd :-)
[TIL] CI/CD 본문
[테트리스 패배해서 쓰는 TIL]
CI/CD?
=> 서비스 빌드부터 배포까지의 과정을 자동화하는 과정(Code > Build > Test > Release > Deploy)
CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례를 일반적으로 "CI/CD 파이프라인"이라 부르며 개발 및 운영팀의 애자일¹ 방식 협력을 통해 지원된다.
- 자동화된 테스트는 CI/CD 파이프라인의 여러 테스트 및 릴리스 단계를 수행할 수 있어야 하기 때문에 많은 선행 투자 필요.
- CI/CD 툴 : Jenkins, Buildkite, GitHub Actions, Bitbucket Pipelines, GitLab CI/CD, circleci ...
CI (Continuous Integration) 지속적인 통합
=> 수시로 코드를 공통 코드 저장소에 체크인하는 DevOps² 라이프사이클 단계.
==> 장점: 통합할 때마다 자동화된 빌드 툴이 체크인이나 브랜치를 검증하여 오류가 없는지 확인하므로 제작 단계로 바로 진행할 수 있음. 문제가 심화되기 전 조기 발견된다는 이점!
"CI를 구현하면 소요 시간이 긴 중대한 업데이트가 아닌 사소한 변경 사항을 단기간에 통합할 수 있다."
CD(Continuous (Delivery and/or Deployment)) 지속적인 제공 and/or 배포
최종단계가 자동화가 되었는지 아닌지에 따라 => Delivery(X) 또는 Deployment(O).
=> 최종 제품이 고객에게 출시되거나 배포되기 전에 개발 파이프라인에서 확인하는 체크포인트 단계. 코드 변경 사항이 검증된 후에는 저장소로 자동 전달.
"대부분의 기업에서는 CI를 먼저 추가한 다음 클라우드 네이티브 애플리케이션의 일부로 배포 및 개발 자동화를 구현."
==> CI/CD는 DevOps 문화의 필수 요소이며, DevOps는 협업에서 팀 구조, 관찰, 버전 관리 등에 이르기까지 소프트웨어 개발 라이프사이클 전반을 포괄적으로 아우른다. DevOps는 조직 전반에서 매우 다양하게 구현될 수 있지만, CI/CD 없이는 실현될 수 없다는 점이 핵심.
* CI/CD 적용 전후 비교 예시 (https://seosh817.tistory.com/104)
1. 애자일(Agile) : 사람, 협업, 공동 가치를 기반으로 하는 조직 모델로, 짧은주기의 개발단위를 반복하여 하나의 큰 프로젝트를 완성해 나가는 방식.
+ Scrum: 프로젝트 관리에 접근방식이며, 스프린트(sprint) 라고 하는 단기 작업 블록을 통해 프로젝트를 진행하며 스프린트 기간은 보통 2주로 진행.
2. DevOps : 하나의 아이디어(새로운 소프트웨어 기능, 개선 요청 또는 버그 수정 등)가 사용자에게 가치를 제공할 수 있도록 운영 환경에서 개발로부터 배포로 진행되는 프로세스의 속도를 높이는 접근 방식.
[참고]
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
https://www.redhat.com/ko/topics/devops/what-cicd-pipeline
https://www.redhat.com/ko/topics/devops
https://unity.com/kr/solutions/what-is-ci-cd