본문 바로가기

IT/Server

[Jenkins] CI ( Continuous Integration ) / CD ( Continuous Delivery )

CI 서비스는 전체 응용 프로그램을 컴파일하고 테스트합니다. 또한 지속적인 딜리버리는 이 테스팅 된 애플리케이션을 예를 들어 알파 테스터가 조기 피드백을 사용하고 제공 할 수 있도록 저장소로 푸시합니다. CD 빌드는 프로덕션 환경에 자동으로 배포되며 광범위한 베타 테스트에도 사용할 수 있습니다.

 

CD는 린 로지스틱스를 목표로 합니다. 새 코드 추가부터 승인 테스트까지 프로세스를 자동화합니다. CD는 모든 단계를 자동화하여 빌드를 배포 할 준비가 되었습니다.

 

지속적인 딜리버리 : 응용 프로그램을 구축하고 테스트를 실행하는 것 외에도 응용 프로그램은 "전달"되기도합니다. 이는 종종 누군가가 수동 테스트를 수행 할 수 있도록 서버에 배치하거나 테스트 그룹의 사용자에게 전자 메일로 전송하는 것을 의미합니다.

 

프로덕션 빌드의 경우 딜리버리란 최종 사용자를 위한 애플리케이션 배포를 의미합니다. 이를 통해 제품을 보다 빠르고 소규모로 배포 할 수있어 배포 위험이 줄어 듭니다. 정기적으로 작고 간결한 배송은 일년에 한 두번만 발생하는 큰 배송보다 덜 위험합니다.

 

Continuous Integration / Delivery는 개발 팀에 어떤 도움을 줄까요?

많은 사람들이 위에서 언급 한 이유로 모든 커밋에서 자동으로 모든 코드를 확인하고 정기적으로 테스트를 실행하고 지속적으로 배포하는 것이 모범 사례로 간주되므로 CI에 대해 이야기합니다.

 

프로세스는 각 개발자의 기여가 함께 잘 작동하는지 확인합니다. 이러한 문제를 조기에 발견하면 버그를 보다 쉽고 빠르게 수정할 수 있습니다.

 

짐작할 수 있듯이 CI / CD를 구현하면 팀에 문화적 변화가 일어납니다. 보다 민첩하고 통합되어집니다.

 

CI는 팀이 충돌하는 새로운 코드 세그먼트를 수동으로 해결하거나 빌드를 트리거하거나 테스트를 실행하는 데 시간을 낭비하지 않도록 하기 위해 만들어졌습니다. 대신 코드에 작은 점진적 변경을 추가하여 해결하기 위해 거대하고 복잡한 버그가 발생하지 않도록 권장합니다. 따라서 빌드주기가 빨라져 배포 및 프로덕션이 능률화 될 수 있습니다.

 

또한 생산은 비즈니스에서 실제로 돈을 버는 곳입니다.

 

또한 흥미롭게도 다중 개발자 원격 팀의 경우 CI는 지리적 위치에 관계없이 모든 작업을한데 모아 지속적으로 결합하여 작업을 모두 동일하게 유지하므로 구현하는 데 매우 유용합니다.

 

Jenkins를 실행하면 코드가 컴파일되는지 지속적으로 확인하고 모든 커밋 후에 기본 코드를 확인하도록 프로그래밍한 기본 테스트 세트를 실행할 수 있습니다.

 

병합된 코드를 통합 환경에 자동으로 배포하여 수동 테스트에 사용할 수 있습니다.

 

또한, 이를 사용하여 프로덕션 빌드를 생성 및 배포합니다. 단일 시스템을 업데이트하지 않기 때문에 배포가 복잡합니다. 전체 시스템 클러스터를 업데이트하고 있습니다. 서비스를 방해하지 않는 방식으로 업데이트를 수행해야합니다. 이러한 환경에 배포하면 사람이 수행하면 오류가 발생할 수 있습니다

 

 

 

Jenkins란 무엇이며 왜 사용해야 할까요?

많은 devops팀의 일반적인 문제는 조각난 워크 플로우입니다. 대부분 비효율적인 업무에 화를 내게 되고는 합니다. 팀원은 독립적으로 일하는 경향이 있습니다. 솔로 코딩을 통해 엔지니어는 정

jjeongil.tistory.com

 

'IT > Server' 카테고리의 다른 글

Jenkins, Docker, AWS  (0) 2020.12.28
backend 이해하기  (0) 2020.12.28
[Jenkins] 젠킨스 설치 및 구동  (0) 2020.12.28
[Jenkins] Jenkins란  (0) 2020.12.24
Gradle  (0) 2020.07.01