젠킨스란?
젠킨스는 웹 서비스의 빌드/테스트/배포 자동화. 즉, CI/CD 환경을 구축하기 위한 도구 중 하나입니다.
이를 통해 소프트웨어의 품질과 개발 생산성을 높일 수 있습니다.
💡 CI ? Continuous Integration의 약자로, 말그대로 지속적인 통합을 의미합니다. 새로운 변경사항이 정기적으로 빌드/테스트되어 공유되는 Repository에 통합하는 것을 말합니다. 이를 통해 여러 개발자는 서로 충돌할 수 있는 문제점을 해결할 수 있습니다. * 형상관리(SVN, Git 등)와의 차이가 무엇인가요? 형상관리는 말그대로 형상에 대해 저장만 합니다. CI 시스템은 형상관리 서버에 저장된 소스코드를 폴링하여 컴파일/테스트/코드 인스펙션 등을 수행하며 신규로 발생한 내역을 검증하고 개발자에게 피드백을 줄 수 있습니다. |
💡 그럼 CD는 뭐야? Continuous Delivery (or Continuous Deployment)의 약자로, 지속적인 서비스의 제공 혹은 지속적인 배포를 의미합니다. 지속적인 서비스의 제공을 의미할 땐, 개발자들이 애플리케이션에 적용한 변경 사항이 테스트를 거쳐 레포지토리에 자동으로 업로드 되는 것을 의미하며, 운영팀은 이를 이용해 프로덕션 환경에 배포할 수 있습니다. 지속적인 서비스의 제공은 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 합니다. 지속적인 배포를 의미할 땐, 레포지토리에서부터 프로덕션 환경까지 자동으로 릴리즈하는 것을 의미합니다. 애플리케이션 제공 속도를 저해하는 수동 프로세스로 인한 과부하를 해결합니다. |
1. 왜 우리는 CI/CD 도구를 써야 하는가?
- 서버에 적용된 버전을 정확히 파악하고, 관리할 수 있습니다.
- 휴먼 에러로부터 벗어날 수 있습니다.
- 개발/운영 인원의 시간을 더욱 효율적으로 사용할 수 있습니다. (버전 관리 및 패치로부터 시간의 절약)
- 단순하고 귀찮은 작업이 사라집니다.
- 코드의 품질을 더욱 빠르게 개선할 수 있습니다.
'개발 > DevOps' 카테고리의 다른 글
Docker Swarm 환경에서 자원 할당을 해보자. (0) | 2023.01.29 |
---|---|
Docker Swarm이란 무엇일까? (0) | 2022.11.25 |
Docker를 설치해보자 (0) | 2022.11.24 |
Docker란 무엇일까? (0) | 2022.11.23 |
젠킨스 버전 업데이트하기 (0) | 2022.11.07 |
댓글