Skip to Content
블로그Deplite를 시작합니다

Deplite를 시작합니다

안녕하세요, Deplite PM 김세현입니다.
오늘은 Deplite가 어떤 문제에서 출발했고, 어디로 향하고 있는지 짧게 나눠 보려 해요.

세상에는 이미 셀 수 없을 만큼 많은 CI/CD 도구가 있어요.
GitHub Actions, GitLab CI, CircleCI, Jenkins, ArgoCD, Spinnaker… 한참을 더 적을 수 있죠.
그럼에도 Deplite를 만든 이유는 단 하나, “내 서버의 문은 내가 닫아 두고 싶다”는 마음 때문이에요.

시작은 “내부망 홈 서버”였어요

처음은 단순했어요. 내부망에 있는 홈 서버에 배포할 마땅한 방법이 없었어요.
공개 포트는 열기 싫고, GitHub 셀프호스팅 runner는 홈 서버 한 대에 비해 너무 무겁고 오히려 보안 표면만 넓혔어요.

얼마 뒤 간단한 키오스크 앱을 만들다 같은 벽에 또 부딪혔어요.
“이거 하나 굴리자고 백엔드를 새로 짜야 하나?” 배포와 기기 간 통신 때문에 매번 서버를 세우는 일이 과하게 느껴졌어요.

두 막힘이 사실 같은 문제라는 걸 그때 알았어요.
그래서 도구로 만들기 시작했어요.

SSH 키를 외부에 맡기는 게 정말 안전한 일일까요?

대부분의 CI/CD는 같은 그림을 그려요.
GitHub Actions든, 다른 SaaS CD든, 결국 “우리 서버로 들어올 수 있도록 길을 뚫어 두고, 그 길로 들어올 권한을 외부 서비스에 넘겨주는” 모양이에요.
대표적인 예가 SSH 키를 등록해 두는 방식이에요.
그 권한이 있어야 빌드 산출물을 옮기고, 서비스를 재시작하고, 마이그레이션을 돌릴 수 있으니까요.

머리로는 “표준 관행”이라고 알지만, 가만히 들여다보면 꽤 무서운 상황이에요.
외부 서비스의 계정이 한 번 털리면, 그 서비스에 맡겨 둔 모든 인프라의 문이 동시에 열려요.
파이프라인 설정 파일 한 줄만 바꿔도 누군가 내 서버 안에서 임의의 명령을 실행할 수 있고요.

이게 싫어서 외부에 키를 넘기지 않으면, 이번엔 배포 자동화 자체가 불가능해져요.
결국 많은 팀이 “편의” 쪽에 기대서 보안을 조금씩 양보하게 되는 거죠.

Deplite가 고른 길

Deplite는 당신의 서버로 “워크플로우 실행 요청”만 보낼 수 있어요.
실행 결과를 들여다보거나, 워크플로우 안에서 임의의 명령을 새로 정의하는 일은 할 수 없어요.

방향도 거꾸로예요. 외부에서 안으로 들어오는 길은 열지 않고, 내부 Agent가 바깥의 Deplite를 향해 먼저 손을 내미는 구조예요.
통신은 서명과 일회용 nonce로 잠가 두고요.

결과적으로 외부에 맡기는 건 “어떤 워크플로우를 실행해 달라”는 신호 하나뿐이에요.

두 가지로 쓸 수 있어요

같은 원리 위에 두 가지 사용 방식이 있어요.
둘 다 같은 대시보드에서 굴려요.

1. SDK — 앱에 직접 심기
키오스크, 매장용 디스플레이, 개인 IoT 앱처럼 앱 자체에 SDK를 끼워 넣는 방식이에요.
원격 앱 업데이트, 헬스체크, 간단한 원격 명령 실행을 백엔드 한 줄 없이 처리할 수 있어요.
앞에서 말한 “이거 굴리자고 백엔드를 새로 짜야 하나?” 그 상황이 바로 이 길이에요.

2. Agent — 내부망 서버 배포 자동화
홈 서버나 사내 서버처럼 외부에 노출하지 않는 서버에 Agent를 띄우는 방식이에요.
빌드 산출물 배포, 서비스 재시작, 마이그레이션, 정기 백업 같은 작업을 외부에 SSH 키 한 줄 넘기지 않고 자동화할 수 있어요.

누구를 위한 도구인가요?

  • 키오스크·매장 디스플레이·개인 IoT 앱을 만들면서, 원격 업데이트 하나 때문에 백엔드를 새로 짜기 부담스러운 분
  • 개인 프로젝트나 작은 앱을 운영하는데, 그것 때문에 GitHub에 SSH 키를 등록하는 게 영 찜찜한 분
  • 애플리케이션은 내부망에 두고 Cloudflare 같은 리버스 프록시로만 노출하고 싶은 분
  • 컴플라이언스나 정책상 시크릿·SSH 키의 외부 위탁이 어려운 팀
  • 배포뿐 아니라 정기 백업·헬스체크·온콜 복구 같은 운영 작업도 한곳에서 굴리고 싶은 팀
  • Slack 한 줄로 안전하게 운영 작업을 트리거하고 싶은 팀

무엇이 다른가요?

Deplite일반 SaaS CD셀프호스팅 도구
외부에 맡기는 권한등록된 워크플로우 실행만SSH 키·시크릿없음
내부망에 열어야 하는 포트아웃바운드만인바운드 필요인바운드 필요
시크릿·실행 로그 위치내부외부내부
UI·정의·알림 운영 부담낮음낮음높음

직접 사용해보세요

내부망 자동배포도, 앱 원격 제어도, 한 자리에서.
서버라면 Agent 하나, 앱이라면 SDK 한 줄이면 시작할 수 있어요.

deplite.io에서 시작하기

이 글을 쓴 사람
Deplite PM
김세현