딱 정해진 답이 없는 것 같아서...
모공에다 적어봅니다.
안드로이드 및 ios 앱 개발을 하고 있습니다.
원래 소규모 팀이었다가 (2명) 지금 점점 늘어나면서 현재 4명이고 더 오실 예정입니다.
처음부터 시작한 2명은 괜찮은데, 어느정도 만들어진 후 들어오신 인원들(비교적 신규입사자)분들에 대해서
전체 소스코드를 넘기기가 애매합니다.
물론 저는 다 넘겨야 될 것 같은데...(모듈별로 되어 있다보니 장애가 생기면 전체 소스코드가 있어야 이슈처리가 가능하겠죠)
윗분들은 뭔가 조치를 하여서 업무 PC에 소스가 없었으면 하시네요.
즉 터미널로 빌드를 하던 뭔 작업을 하게끔요.
근데 이렇게 되면 개발시 너무나 불편하게 될 것 같아서.. 저는 좀 반대입장입니다.
테스트할려면 실제 단말에 붙어야 되는데 원격 터미널로 하게 되면... 단말을 어떻게 연결해야할지 등등. 감이 전혀 안옵니다.
개발자분들... 소스코드 유출 방지를 위해 어떻게 시스템(?)을 구성하여 작업하고 계신가요??
아질게라면 옮기도록 하겠습니다.
2. 극단적으로 모듈화하여 해당 모듈 개발만 한다
2-1. 핵심 모듈은 바이너리만 제공한다?
2-1번이 낫긴 하겠네요.
터미널 작업을 하게 되면 많이 답답하고, 어차피 그런 식이라면 맘만 먹으면 소스 반출이야...
사내 SVN은 개발용PC로만 연결할수있게 되어있습니다.
당연 DLP솔루션도 설치되있어서 유출을 막고있습니다.
다만 개발자 입장에서는 더럽게 불편해요.
그게 아니라면 보안? 요즘은 의미없죠.
중요 부분을 패키지로 묶어 버리세요.
그게 어렵다면 흠...
소스반출시 법적책임 및 매출금액에 상회하는 책임등을 믈을것이며...
자료반출시 사유서 서면동의
서면동의 없는경우 불법유출로 인지함 등등
주옥같은 문구들 많아요 ㄷㄷㄷ
from CV
클라우드에서 외부망 차단, 소스 유출 불가...
만약 소스 자체를 못보게 할거면, ci랑 코드 리뷰어 시스템 도입해서
부분 소스를 checkout받아서 개발하게 하고, 개발 완료후 commit한 소스를
자동으로 빌드되도록 하고, 빌드된 결과를 테스트 해서 정상 동작확인하면
리뷰어 승인 후 메인 브렌치에 반영되도록 구성하면 될 것 같네요.