가장 중요한 자산이 밖에 있습니다
소스는 회사가 만든 것의 전부입니다. 지우고 싶어도 우리가 지우는 것이 아니라 지워 달라고 요청하는 것이고, 백업이 어디까지 남는지는 약관이 정합니다.
왜 자체 호스팅인가
외부 저장소는 빠르게 시작할 수 있습니다. 대신 제품의 설계와 이력, 누가 무엇을 언제 고쳤는지가 모두 남의 인프라에 쌓입니다.
소스는 회사가 만든 것의 전부입니다. 지우고 싶어도 우리가 지우는 것이 아니라 지워 달라고 요청하는 것이고, 백업이 어디까지 남는지는 약관이 정합니다.
외부 접속이 막힌 사내망·공장·현장에서는 clone 한 번이 안 됩니다. 규정이 아니라 물리적으로 닿지 않는 곳이 있습니다.
금융·의료·공공 심사에서 "그 소스는 어디에 보관됩니까"라는 질문에, 외부 사업자의 약관을 내미는 것 말고 내놓을 답이 없습니다.
제품
코드를 담는 곳과 그 코드를 두고 이야기하는 곳이 따로 놀면, 결국 다른 도구를 하나 더 사게 됩니다. SSemRepo 는 셋을 한 벌로 냅니다.
git clone·push 가 HTTPS 로 그대로 됩니다. 브라우저에서 파일·커밋·차이를 읽고, 이관해 온 Subversion 저장소도 같은 화면에서 함께 읽습니다.
이슈·마일스톤·라벨·담당자, 풀 리퀘스트와 코드 리뷰, 게시판과 위키. 프로젝트 하나 안에서 끝납니다.
그룹과 권한, 가입 승인, 메일 알림과 서식, 사이트 로고와 백업까지 관리 화면에서 바꿉니다. 고치려고 다시 배포하지 않습니다.
기능
HTTPS clone·push, 브랜치와 태그, 커밋 목록과 차이, 파일 읽기와 웹 편집, 포크.
이관해 온 svn 저장소의 리비전·파일·차이를 git 과 같은 화면에서 읽습니다. 옛 자산을 버리지 않아도 됩니다.
라벨·담당자·마일스톤, 상위와 하위 이슈, 첨부와 댓글, 내가 볼 수 있는 것만 나오는 검색.
브랜치 사이 차이, 파일별 리뷰 댓글, 충돌 표시, 병합과 자동 닫기.
공지와 자료는 게시판에, 규칙과 설계는 위키에. 이슈와 같은 편집기와 같은 첨부를 씁니다.
제품 화면이 한국어·영어·일본어·중국어·독일어·러시아어·프랑스어·베트남어·인도네시아어·스페인어로 나옵니다.
화면
새 도구를 배우는 시간이 도입의 진짜 비용입니다. 화면은 개발자가 이미 아는 배치를 따릅니다 — 왼쪽에 프로젝트, 가운데에 일감, 위에 코드.
화면 설명
명령줄
사람이 눌러서 하는 일과 기계가 반복하는 일은 다릅니다. SSemRepo 는 전용 명령줄 도구를 함께 냅니다 — 스크립트에서 부르고, 빌드 뒤에 이어 붙이고, 코딩 에이전트에게 맡길 수 있습니다.
이슈·게시판·위키·풀 리퀘스트·마일스톤·그룹·사이트 관리까지 명령으로 합니다. 결과는 사람이 읽는 표로도, 기계가 읽는 JSON 으로도 받습니다.
계정을 프로파일로 나눠 두고, 디렉터리마다 어느 계정으로 일할지 묶어 둡니다. 그 아래에서는 알아서 그 계정이 됩니다.
git 자격 도우미로 붙어 push 할 때마다 비밀번호를 다시 묻지 않습니다. 저장한 비밀값은 그 기계에 묶여 암호화되어, 파일만 다른 기계로 옮기면 풀리지 않습니다.
AI 코딩 도구에 바로 물릴 수 있게 사용 지침을 함께 줍니다. 「이 버그를 이슈로 올려 줘」가 그대로 실행됩니다.
이 화면 설명
구조
브라우저와 git 클라이언트가 같은 주소로 들어옵니다. 웹 서버가 받아 Tomcat 에 넘기고, 이력은 PostgreSQL 에, 저장소 파일은 회사 디스크에 남습니다.
다이어그램 설명
이관
새로 시작하는 팀보다 이미 쌓인 팀이 많습니다. 지금 쓰는 도구에 있는 git·svn 저장소와 이슈·첨부를 옮기는 절차와 도구를 함께 드립니다.
쓰던 도구의 데이터베이스에서 이슈·댓글·이력을 읽어 PostgreSQL 로 옮깁니다. 값을 문자열로 바꿔치기하지 않고 드라이버로 읽어 그대로 넣습니다.
git·svn 저장소와 업로드 파일은 디렉터리째 복사합니다. 저장소 자체는 어느 도구에서 왔든 표준이라 손볼 것이 없습니다.
사용자·그룹·역할이 함께 옵니다. 비밀번호 방식이 맞으면 그대로 통해 전원이 다시 가입할 필요가 없습니다.
옛 시스템을 끄기 전에 같은 자료를 두 화면에서 비교합니다. 되돌릴 자리를 남겨 두고 옮깁니다.
이관 규모와 일정은 저장소 개수와 디스크 크기로 가늠합니다. 문의하시면 현재 환경을 함께 봐 드립니다.
도입
도커 두 벌 — 애플리케이션과 PostgreSQL. 저장소가 놓일 디스크만 정해 주면 됩니다.
표를 만들고 초기 자료를 넣은 뒤 관리자 계정을 만듭니다. 문서에 적힌 명령을 그대로 칩니다.
회사 도메인을 물리고 HTTPS 를 세웁니다. git 이 지나가므로 본문 크기 제한만 풀어 둡니다.
가입 방식을 정하고 그룹과 프로젝트를 만듭니다. 이관이 필요하면 그 자리에서 옛 자료를 올립니다.
기술
흔한 자바 서버 하나면 돕니다. 운영팀이 이미 아는 방식으로 띄우고 재기동합니다.
무거운 매핑 계층 없이 SQL 을 직접 씁니다. 느린 조회의 원인을 쿼리에서 바로 찾습니다.
첫 화면이 가볍게 뜨도록 받는 양을 줄였습니다. 글꼴도 사내망에서 직접 내려줍니다.
실제 서버에 붙어 프로젝트를 만들고 push 하고 PR 을 올리는 것까지 돌려 확인합니다.
팀 규모와 지금 쓰는 저장소를 알려 주시면 맞는 구성을 제안드립니다. 시험 설치와 이관도 도와드립니다.
문의하기halo@levelupsoft.com+82 10-8472-4070
Levelupsoft Inc.