피드로 돌아가기
glasp: A Go-based, Zero-dependency CLI for Google Apps Script (clasp Alternative)
Dev.toDev.to
DevOps

Node.js 의존성 제거 및 Go 기반 Binary 전환을 통한 GAS 배포 최적화

glasp: A Go-based, Zero-dependency CLI for Google Apps Script (clasp Alternative)

akihito2026년 4월 24일2intermediate

Context

Node.js 기반인 clasp의 Runtime Overhead로 인한 느린 배포 속도와 무거운 환경 설정 문제 발생. 특히 CI/CD 파이프라인 내 Node.js 환경 구축 과정에서 불필요한 시간 소모와 리소스 낭비 확인.

Technical Solution

  • Go 언어 채택을 통한 Single Static Binary 구현으로 외부 Runtime 의존성 완전 제거
  • 기존 .clasp.json 및 appsscript.json 설정 파일과 호환성을 유지하는 인터페이스 설계
  • Go의 Concurrent Processing을 활용한 대규모 프로젝트 내 파일 스캔 및 업로드 속도 향상
  • Docker 기반 GitHub Action으로 패키징하여 CI 단계의 'Setup Node.js' 프로세스 제거
  • .clasprc.json 기반의 인증 메커니즘을 Secret으로 관리하는 보안 전송 구조 설계

1. CI/CD 파이프라인 내 런타임 설치 시간이 병목인 경우 컴파일 언어 기반의 CLI 대체 검토

2. 기존 도구의 설정 파일(Config) 호환성을 유지하여 마이그레이션 비용 최소화

3. 단일 바이너리 배포를 통한 환경 일관성 확보 및 배포 단계 단순화 적용

원문 읽기