Skip to Content
Java 개발자를 위한 DevOps 도구
book

Java 개발자를 위한 DevOps 도구

by Stephen Chin, Melissa McKay, Ixchel Ruiz, Baruch Sadogursky
May 2025
Beginner to intermediate
344 pages
5h 35m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Java 개발자를 위한 DevOps 도구

2장. 진실의 시스템

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

작동하는 복잡한 시스템은 항상 작동하는 단순한 시스템에서 진화한 것으로 밝혀집니다.

존 갈(갈의 법칙)

효과적인 DevOps 파이프라인을 갖추려면 프로덕션에 배포되는 비트와 바이트를 파악할 수 있는 단일 진실 시스템을 갖추는 것이 중요합니다. 일반적으로 이는 프로덕션 배포에 컴파일 및 빌드되는 모든 소스 코드를 포함하는 소스 코드 관리 시스템에서 시작됩니다. 프로덕션 배포를 소스 제어의 특정 개정으로 역추적하면 버그, 보안 구멍 및 성능 문제에 대한 근본 원인 분석을 수행할 수 있습니다.

소스 코드 관리는 소프트웨어 배포 수명 주기에서 몇 가지 주요 역할을 해결합니다:

협업

단일 코드베이스( )에서 작업하는 대규모 팀들은 효과적인 소스 코드 관리가 없으면 서로 막혀서 팀 규모가 커질수록 생산성이 떨어집니다.

버전 관리

소스 코드 시스템을 사용하면 코드의 버전 을 추적하여 프로덕션에 배포되거나 고객에게 릴리스되는 내용을 식별할 수 있습니다.

역사

소프트웨어가 개발될 때 모든 버전 의 시간순 기록을 유지하면 이전 버전의 코드로 되돌리거나 회귀를 유발한 특정 변경 사항을 식별할 수 있습니다.

어트리뷰션

특정 파일을 변경한 사람을 알면 소유권을 파악하고, 도메인 전문성을 평가하고, 변경 시 위험을 평가할 수 있습니다.

종속성

소스 코드는 다른 패키지에 대한 종속성 등 프로젝트에 대한 기타 주요 메타데이터의 표준 소스( )가 되었습니다.

품질

소스 코드 관리 시스템을 사용하면 변경 사항을 승인하기 전에 동료 검토를 쉽게 수행할 수 있어 소프트웨어의 전반적인 품질이 향상됩니다.

소스 코드 관리는 소프트웨어 개발에서 매우 중요한 역할을 하므로, 그 작동 방식을 이해하고 조직의 요구와 원하는 DevOps 워크플로우에 가장 적합한 시스템을 선택하는 것이 중요합니다.

3세대에 걸친 소스 코드 관리

협업은 소프트웨어 개발에서 큰 부분을 차지하며, 팀 규모가 커질수록 공유 코드베이스에서 효과적으로 협업하는 기능이 개발자 생산성의 병목이 되는 경우가 많습니다. 또한 시스템의 복잡성이 증가함에 따라 수십 개의 파일이나 소수의 모듈을 관리하는 것이 아니라 시스템 전체의 변경 및 리팩터링을 수행하기 위해 수천 개의 소스 파일을 일괄적으로 업데이트해야 하는 경우가 흔하게 발생하고 있습니다.

코드베이스에 대한 공동 작업의 필요성을 관리하기 위해 SCM( 소스 코드 관리 ) 시스템이 만들어졌습니다. 1세대 SCM 시스템은 파일 잠금을 통해 공동 작업( )을 처리했습니다. 예를 들어 SCCS와 RCS는 편집 전에 파일을 잠그고 변경한 다음 다른 사람이 기여할 수 있도록 잠금을 해제해야 했습니다. 이는 두 개발자가 상충되는 변경을 할 가능성을 없애는 것 같았지만 두 가지 큰 단점이 있습니다:

  • 편집하기 전에 다른 개발자가 변경 사항을 완료할 때까지 기다려야 했기 때문에 생산성이 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

스파크를 활용한 실시간 처리: 실시간 데이터 처리를 위한 고수준 스트리밍 API 마스터하기

스파크를 활용한 실시간 처리: 실시간 데이터 처리를 위한 고수준 스트리밍 API 마스터하기

김인범, 제러드 마스, 프랑수아 가릴로
스파크 완벽 가이드: 스파크를 활용한 빅테이터 처리와 분석의 모든 것

스파크 완벽 가이드: 스파크를 활용한 빅테이터 처리와 분석의 모든 것

우성한, 이영호, 강재원, 빌 체임버스, 마테이 자하리아

Publisher Resources

ISBN: 9798341656208Supplemental Content