Cusp도구
운영 중2025년부터cusp.example.com소스
Cusp는 브랜치마다 프리뷰 배포를 만들고, 정해둔 일수만큼 방치되면 그것을 지운다. 3월 이후로는 손도 대지 않은 프로젝트에서 잊혀진 프리뷰 URL 26개가 데이터베이스에 계속 붙어 있는 걸 발견하고 나서 만들었다. 조용히 비용을 잡아먹으면서 조용히 낡아가고 있었다.
아이디어는 단순하다. push가 일어나면 웹훅이 걸리고, Cusp가 그 브랜치를 빌드해 배포한 다음 풀 리퀘스트에 링크를 남긴다. 설정해둔 일수(기본값 3일) 동안 아무도 그 링크에 들어가지 않으면 배포를 지운다. 링크를 방문하면 카운트다운이 다시 초기화된다.
하는 일
정적 사이트, 그리고 컨테이너 이미지 하나로 배포되는 것이면 뭐든 된다. 데이터베이스는 관리하지 않는다. 그래서 자기만의 데이터가 필요한 프리뷰는 부팅 시점에 스스로 시드 데이터를 채워 넣어야 한다. 처음 손이 더 가긴 하지만, 그 덕분에 스테이징 데이터베이스 하나를 열다섯 개 환경이 공유하면서 서로 테스트 데이터를 밟는 일은 절대 없다.
하지 않는 일
브랜치별 커스텀 도메인은 없고, 내장된 비밀번호 보호도 없다. 필요하면 액세스 프록시 뒤에 세워두면 된다. 프리뷰 페이지에 리뷰 앱처럼 직접 댓글을 다는 기능도 넣을까 생각했지만 하지 않기로 했다. 그건 풀 리퀘스트가 할 일이다.
분류 도구