본문 바로가기

중요개념

CI, CD

CI : “CI”는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 병합되므로 여러명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결.

CI(지속적 통합)를 통해 개발자들은 코드 변경 사항을 공유 브랜치 또는 "트렁크"로 다시 병합하는 작업을 더욱 수월하게 자주 수행할 수 있습니다. 개발자가 애플리케이션에 적용한 변경 사항이 병합되면 이러한 변경 사항이 애플리케이션을 손상시키지 않도록 자동으로 애플리케이션을 구축하고 각기 다른 레벨의 자동화 테스트 (일반적으로 단위 테스트 및 통합 테스트) 실행을 통해 변경 사항이 애플리케이션에 제대로 적용되었는지를 확인합니다. 다시 말해, 클래스와 기능에서부터 전체 애플리케이션을 구성하는 서로 다른 모듈에 이르기까지 모든 것에 대한 테스트를 수행합니다. 자동화된 테스트에서 기존 코드와 신규 코드 간의 충돌이 발견되면 CI를 통해 이러한 버그를 더욱 빠르게 자주 수정할 수 있습니다.

“CD”는 지속적인 서비스 제공 (Continuous Delivery) 및/또는 지속적인 배포 (Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 합니다.


젠킨스 공부 필요

https://jojoldu.tistory.com/139

젠킨스로   빌드   AWS  에 배포

https://jojoldu.tistory.com/290?category=777282


마이크로서비스

https://kihoonkim.github.io/2017/01/27/Microservices%20Architecture/[SDS%EC%82%AC%EB%82%B4%20%EA%B8%B0%EA%B3%A0]%20Microservice%20Architecture%EB%9E%80/

마이크로서비스를 전통적인 모놀리식(monolithic) 접근 방식과 구별 짓는 기준은 애플리케이션을 핵심 기능으로 세분화하는 방식입니다. 각 기능을 서비스라고 부르며, 독립적으로 구축하고 배포할 수 있습니다. 이는 개별 서비스가 다른 서비스에 부정적 영향을 주지 않으면서 작동(또는 장애가 발생)할 수 있음을 의미.


마이크로서비스는  CBD와 SOA(서비스 기반 아키텍쳐)를 알고 있는사람이라면 생소한내용은 아니다.

이를 위해 JPA DB를 선택하고 (왜??) spring boot를 선택한다(왜??) 각기 다른주소를 갖기 때문에 API gateway를 사용한다.  


WAS

 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다.[1] 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)으로 볼 수 있다.


HTTP

https://ko.wikipedia.org/wiki/HTTP


springboot

https://jojoldu.tistory.com/43#at_pco=smlwn-1.0&at_si=5c7771e3cd180545&at_ab=per-2&at_pos=0&at_tot=1




'중요개념' 카테고리의 다른 글

Jersey  (0) 2019.03.17
클라우드 SW 사례 연구  (0) 2019.03.17
쿠버네티스  (0) 2019.03.17
Elastic Beanstalk  (0) 2019.03.17
Message Queue  (0) 2019.03.17