glasp: Go 기반, 무의존성 CLI Google Apps Script용 (clasp 대안)
Source: Dev.to
공식 사이트:
GitHub:
주요 기능
- Zero dependencies – 단일 바이너리로 실행되며 Node.js나 npm이 필요 없습니다.
- clasp compatibility – 기존
.clasp.json및appsscript.json파일과 호환됩니다.login,push,pull같은 명령어는 동일한 구문을 사용합니다. - High performance – 동시 처리(concurrent processing)를 통해 파일 스캔 및 업로드 속도가 크게 빨라지며, 특히 대규모 프로젝트에서 효과적입니다.
- GitHub Actions optimized – 전용 Action을 사용하면 Node.js 환경을 별도로 설정하지 않고도 배포할 수 있습니다.
설치
macOS와 Linux에서는 다음 스크립트를 사용해 glasp를 설치합니다:
curl -sL https://takihito.github.io/glasp/install.sh | bash
GitHub Action 예시
name: Deploy to Google Apps Script
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy with glasp
uses: takihito/glasp@v0.2.8
with:
version: 'v0.2.8'
auth: '${{ secrets.CLASPRC_JSON }}'
구현 시 참고
로컬 ~/.clasprc.json 파일의 내용을 CLASPRC_JSON이라는 이름의 GitHub secret으로 등록합니다.
Action이 Docker 컨테이너로 실행되므로 환경 설정이 최소화되고 빠르게 동작합니다.
glasp는 GAS 워크플로우를 Node.js와 분리하거나 CI/CD 파이프라인의 속도를 최적화하고자 하는 개발자에게 실용적인 대안입니다. 기존 clasp 설정을 유지하면서 스크립트를 보다 가볍고 빠르게 관리하고 싶다면 glasp가 강력한 후보가 될 것입니다.