Sourcegraph: 대규모 코드베이스를 위한 코드 인텔리전스 플랫폼

Sourcegraph: 대규모 코드베이스를 위한 코드 인텔리전스 플랫폼 107

대규모 코드베이스 시나리오를 위한 코드 인텔리전스 플랫폼으로, 통합 검색 엔진과 AI 어시스턴트를 통해 GitHub, GitLab, Bitbucket 등 여러 호스팅 서비스의 저장소를 통합해 '조회 가능한 코드 데이터베이스'를 구축합니다. 개발자가 코드를 빠르게 찾고, 의존 관계를 이해하며, 일괄 변경을 수행할 수 있도록 돕습니다.

#Ai工具箱 #Ai编程建站

Sourcegraph: 대규모 코드베이스를 위한 코드 인텔리전스 플랫폼소개

Sourcegraph는 대규모 코드베이스를 위한 코드 인텔리전스 플랫폼으로, 2013년 미국에서 설립되었으며 여러 차례 투자를 유치해 총 수억 달러를 모금했고 현재 기업 가치는 26억 달러에 달합니다. 통합 검색 엔진과 ai 어시스턴트를 통해 GitHub, GitLab, Bitbucket 등 여러 곳에 분산된 코드 저장소를 연결하여 검색 가능한 코드베이스로 만들어, 개발자가 코드를 빠르게 찾고, 의존성을 이해하며, 코드를 일괄 수정할 수 있도록 합니다.

Sourcegraph

Sourcegraph 주요 기능

  • 저장소 간 코드 검색: 전문 검색, 정규식 검색, 코드 구조 기반 검색, 심볼 검색을 지원합니다. 예를 들어 lang:go file:^src/ FUNC(ARGS) 같은 쿼리를 사용하면 한 번에 수백에서 수천 개의 저장소를 검색할 수 있습니다.

  • 코드 탐색: 정의 위치로 이동하거나, 해당 코드가 어디에서 사용되는지 찾고, 호출 순서 및 이전 수정 이력을 확인할 수 있습니다. 브라우저 플러그인을 설치하면 GitHub 페이지에서 바로 사용할 수 있습니다.

  • AI 어시스턴트 Cody: DeepSeek-Coder-V2, Claude 3.7 등의 모델을 활용하여 코드 자동 완성, 맥락 기반 질의응답, 여러 파일에 걸친 자동 수정을 지원합니다. 응답 시간이 1초 미만이며, 다른 사람의 경우 40%가 이를采纳합니다.

  • 코드베이스 분석: 코드를 검색 가능한 데이터로 변환하여 대시보드를 직접 만들고, 기술 부채, 버전 업그레이드 진행 상황, 보안 규정 준수 현황을 모니터링할 수 있습니다.

  • 코드 일괄 수정: 여러 저장소에 한꺼번에 PR을 발송하고, 자동으로 브랜치를 생성하며, 롤백 및 병합을 수행합니다. 대규모 의존성 업그레이드, API 교체, 보안 패치 적용에 적합합니다.

  • 보안 및 규정 준수: 민감 정보를 검색하고, CVE 취약점을 찾으며, 코드 소유자를 확인할 수 있습니다. 또한 mTLS, SSO, 감사 로그 등 기업용 보안 기능을 지원합니다.

Sourcegraph 주요 사용 시나리오

  • 대기업의 통합 코드 관리: 마이크로서비스, 다양한 언어, 다수의 저장소가 있을 때 공통 라이브러리의 영향을 빠르게 파악하고 리팩토링 위험을 평가할 수 있습니다.

  • 신규 개발자의 빠른 적응: 전역 탐색과 AI 설명을 활용하여 기존 시스템 숙지에 드는 시간을 줄일 수 있습니다.

  • 코드 리뷰 속도 향상: Cody가 변경 사항을 요약하고 맥락 관련 문제를 알려주며, 리뷰어는 클릭 한 번으로 Cody의 수정 사항을 적용할 수 있습니다.

  • 보안 및 규정 준수 검사: 구조화된 검색을 통해 하드코딩된 비밀 키, 오래된 암호화 알고리즘을 한 번에 찾아낼 수 있습니다.

  • 교육 또는 오픈소스 협력: 학교나 교육 기관에서 실제 대규모 프로젝트 구조를展示하여 보다 실용적인 수업을 진행할 수 있습니다.

Sourcegraph 사용 방법

  1. 가입 및 저장소 연결: sourcegraph.com에 방문하거나 자체 서버를 구축한 후, GitHub/GitLab 계정으로 로그인하여 인덱싱할 공개 또는 비공개 저장소를 선택합니다.

  2. 검색 테스트: 검색 창에 lang:python repo:myorg/.* "requests.get("을 입력하면 모든 Python 저장소에서 타임아웃이 설정되지 않은 HTTP 호출을 찾을 수 있습니다.

  3. Cody 활성화: 사이드바에서 Cody를 클릭하고 "닫히지 않은 데이터베이스 연결을 모두 찾아줘"라고 입력하면, 여러 파일에 걸친 목록과 수정建议를 받을 수 있으며, 직접 Apply하여 패치를 생성할 수도 있습니다.

  4. Code Insight 생성: Dashboard에서 New Insight를 클릭하고 file:.(js|ts)$ lodash라는 쿼리를 입력하면 프론트엔드 프로젝트에서 lodash 사용 현황 변화를 확인할 수 있으며, 매주 이메일 보고서를 발송하도록 설정할 수도 있습니다.

  5. 일괄 수정 예시(CLI 사용): 먼저 src-cli를 설치하고(brew install sourcegraph/src-cli/src), name: upgrade-log4j, 범위는 lang:java log4j:1.x 저장소로 지정하는 spec.yml을 작성합니다. comby를 사용해 log4j:1.x를 log4j:2.17.2로 바꾸는 단계를 설정한 뒤, 마지막에 src batch apply -f spec.yml을 실행하여 PR을 생성합니다.

  6. IDE 및 CI 통합: VS Code에 플러그인을 설치하면 에디터에서 바로 코드를 검색하고 Cody로 코드 자동 완성을 사용할 수 있습니다. GitHub Action에서 PR이 Cody 리뷰를 트리거하도록 설정하면 자동으로 위험 요소를 평가해줍니다.

Sourcegraph는 코드 검색 엔진, AI 어시스턴트, 코드 일괄 수정 도구입니다. 개인이 오픈소스 프로젝트를 빠르게 이해하고 싶은 경우든, 기업이 수천 개의 저장소를 관리하고 보안 규정을 준수하며 AI를 활용해 리뷰를 진행하려는 경우든 모두 해결할 수 있습니다. 먼저 클라우드 무료 버전을試해 보고 적합한지 확인한 후, 팀 규모에 맞춰 Enterprise를 선택하거나 자체 호스팅하면 코드 검색, 수정, 관리 효율성을 크게 높일 수 있습니다.

Sourcegraph: 대규모 코드베이스를 위한 코드 인텔리전스 플랫폼 와 관련된 도구