Skip to content
hello tis
Go back

[26.10.06] 사내 버셀의 HTML 배포 지원과 GitHub 조직 초대 자동화하기

프레임워크를 추가할 때 수정할 영역을 좁히기

상황

사내 버셀은 처음에 FastAPI만 지원했습니다. 정적 HTML도 배포할 수 있도록 지원 범위를 넓히고 싶었습니다.

문제

기존에는 워커가 저장소를 받아 FastAPI에 맞춰 빌드, 테스트, 배포했습니다. 프레임워크별 실행 조건을 선택하는 계층이 없어, 다른 프레임워크를 지원하려면 워커의 처리 방식도 수정해야 했습니다.

AS-IS: FastAPI 저장소를 받아 워커가 FastAPI 빌드, 테스트, 배포를 진행하는 흐름

해결

워커의 배포 절차를 그대로 두고 지원 대상을 늘리기 위해, 중간에 계약이라는 추상화 계층을 추가했습니다. 테스트 명령과 포트 같은 실행 조건을 계약으로 정의하고, 저장소에 맞는 계약을 선택해 빌드, 테스트, 배포를 진행하도록 했습니다.

TO-BE: 저장소와 공통 배포 절차 사이에 계약 추상화를 추가. FastAPI와 정적 HTML 중 저장소에 맞는 계약을 선택해 워커가 빌드, 테스트, 배포

이후 정적 HTML 계약과 판별 규칙을 추가해 워커를 수정하지 않고 HTML 지원을 추가했습니다. 프로젝트 생성 화면과 템플릿 설정은 변경했지만, 배포 단계마다 프레임워크별 조건을 추가할 필요는 없었습니다.

조직 초대를 자동화해 사용자 대기 줄이기

상황

사용자가 사내 버셀에서 프로젝트를 만들려면 먼저 GitHub 조직에 가입해야 했습니다. 기존에는 관리자에게 가입을 요청하고 조직 초대를 받았습니다.

문제

가입 요청마다 관리자가 본인 확인과 초대 발송을 반복해야 했고, 사용자는 그 처리가 끝날 때까지 기다려야 했습니다. 이 수작업을 없애 사용자가 관리자 응답을 기다리지 않고 가입을 진행하도록 만들고 싶었습니다.

AS-IS: 사용자가 가입을 요청하면 관리자가 요청 확인과 조직 초대를 수동으로 처리하고, 사용자는 초대가 올 때까지 대기

해결

관리자의 수동 초대를 없애고, 사용자도 관리자 응답을 기다리지 않고 가입을 진행할 수 있게 했습니다. 가입 버튼을 누르면 GitHub App이 조직 초대를 자동으로 요청하도록 수정했습니다.

TO-BE: 포털에서 회사 이메일 확인, GitHub App이 사용자 ID로 조직 초대 요청, GitHub에서 초대 발송. 관리자의 수동 초대와 사용자 응답 대기 제거

실제 화면 공유드립니다.

실제 화면을 화살표로 연결한 조직 가입 순서도. GitHub 권한 승인에서 자동 초대와 초대 수락으로 이어지고, 회사 이메일이 없으면 등록과 인증 안내 화면을 거쳐 가입을 진행

회고

팀 내 리뷰에서 다음과 같은 피드백을 받았습니다.

사용 경험의 완성도를 높이는 일이 사용자의 참여를 이끌 수 있음을 깨달았습니다. 공수가 큰 고도화는 바로 진행하기 어렵지만, 작은 개선은 주기적으로 반영해 완성도 높은 환경에서 작업한다는 느낌을 주고 싶습니다.


Share this post:

Previous Post
[26.10.07] 사내 버셀의 배포와 권한 조회 개선하기
Next Post
[26.10.05] 사내 버셀을 Spring으로 통합하기