피드로 돌아가기
Dev.toDevOps
원문 읽기
Node.js 의존성 제거 및 Go 기반 Binary 전환을 통한 GAS 배포 최적화
glasp: A Go-based, Zero-dependency CLI for Google Apps Script (clasp Alternative)
AI 요약
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. 단일 바이너리 배포를 통한 환경 일관성 확보 및 배포 단계 단순화 적용