1. 소개
Apps Script CLI(clasp)는 Apps Script 프로젝트를 로컬에서 만들고, 편집하고, 배포할 수 있는 도구입니다. 이를 통해 명령줄에서 스프레드시트, 문서, 설문지, 프레젠테이션과 같은 제품을 위한 웹 앱과 부가기능을 만들고 게시할 수 있습니다. Apps Script는 script.google.com을 사용하거나 컴퓨터에서 로컬로 개발할 수 있습니다. 여기서는 Apps Script의 명령줄 도구인 clasp를 사용하는 방법을 알아봅니다.
기능
- 로컬로 개발합니다.
clasp를 사용하면 자체 컴퓨터에서 코드를 작성하고 완료되면 Apps Script에 업로드할 수 있습니다. 기존 Apps Script 프로젝트를 다운로드한 후 로컬에서 수정할 수도 있습니다. 코드가 로컬에 있으면 git과 같은 즐겨 사용하는 개발 도구를 사용하여 Apps Script 프로젝트를 작업할 수 있습니다. - 배포 버전 관리 프로젝트의 여러 배포를 만들고, 업데이트하고, 볼 수 있습니다.
- 구조 코드.
clasp은 script.google.com의 플랫 프로젝트를 폴더로 자동 변환합니다. 예를 들면 다음과 같습니다.
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
학습할 내용
이 Codelab에서는 clasp를 사용하여 다음 3가지 주요 활동을 수행하는 방법을 알아봅니다.
- 새 Apps Script 프로젝트를 만드는 방법
- 기존 프로젝트를 클론, 풀, 푸시하는 방법
- 스크립트 배포를 관리하는 방법
2. 시작하기
CLI 다운로드
Apps Script CLI (clasp)를 사용하려면 Node.js가 설치되어 있어야 합니다. 여기에서 Node.js를 설치하세요.
Node가 설치되면 CLI를 전역적으로 설치합니다 (별칭 clasp).
npm i @google/clasp -g
3. Apps Script API 사용 설정
Clasp를 사용하려면 Apps Script IDE에서 Google Apps Script API를 사용 설정해야 합니다.
4. 로그인
로그인
clasp을 사용해 보겠습니다. 기억해야 할 유일한 명령어는 clasp입니다.
clasp
명령줄 도구를 사용하기 전에 로그인해야 합니다. 다음 명령어를 실행합니다.
clasp login
또는 SSH를 사용하는 경우:
clasp login --no-localhost
이때 Google에 로그인하라는 메시지가 표시됩니다. CLI로 만드는 모든 프로젝트는 이 Google 계정과 연결됩니다.
5. 새 프로젝트 만들기
독립형 프로젝트 만들기
다음 명령어를 사용하여 독립형 Google Apps Script 프로젝트를 만들어 시작합니다.
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab" --type standalone;
'clasp_codelab' 폴더에 Apps Script 프로젝트를 만들었습니다.
(선택사항) 기존 프로젝트 클론
Google Slides 부가기능용 컨테이너 바운드 스크립트를 만들어 보겠습니다.
이렇게 하려면 slides.google.com으로 이동하여 새 프레젠테이션을 만듭니다. 프레젠테이션 이름을 'clasp Codelab Test'로 변경합니다. 슬라이드 메뉴 바의 확장 프로그램 메뉴에서 'Apps Script'를 선택합니다.
그러면 script.google.com에서 Apps Script 프로젝트가 열립니다.
프로젝트의 새 디렉터리를 만들고 cd로 이동합니다.
mkdir clasp_codelab_test
cd clasp_codelab_test
프로젝트를 복제하려면 Script ID가 필요합니다. /projects/ 뒤의 Apps Script 프로젝트 URL에서 이 ID를 확인할 수 있습니다. 값을 복사하여 다음 명령어에 붙여넣습니다.
clasp clone <scriptID>
출력은 다음과 같습니다.

이제 현재 디렉터리에 프로젝트가 다운로드되었습니다. 원하는 편집기를 사용하여 Code.gs (빈 함수)의 콘텐츠를 확인합니다.
6. 파일 가져오기 및 푸시
script.google.com에서 코드 수정
이제 프로젝트를 클론할 수 있으므로 파일을 가져오고 푸시하는 방법을 알아보겠습니다. script.google.com를 통해 클라우드에서 수정하고 컴퓨터로 로컬로 가져오는 단계를 안내해 드립니다. 클라우드에서 스크립트를 열어 보겠습니다.
clasp open-script
온라인 편집기를 사용하므로 나중에 clasp를 사용하여 가져올 코드를 온라인으로 수정합니다.
새 Apps Script 파일을 만들려면 편집기 왼쪽의 파일 옆에 있는 파일 추가
> 스크립트를 클릭합니다. utils/strings 이름을 입력합니다. 새로 만든 파일 utils/strings.gs에서 코드를 다음으로 바꿉니다.
var world = "世界";
Code.gs에서 기존 코드를 다음 코드로 바꿉니다.
function hello() {
Logger.log("Hello, " + world);
}
상단에서 저장 을 클릭합니다.
함수를 실행하려면 편집기 상단의 함수 드롭다운 목록에서 hello를 선택하고 실행을 클릭합니다.
실행 로그의 하단에 인사말이 표시됩니다.
로컬에서 코드 수정
마지막으로 프로젝트를 클론한 명령줄로 돌아가 보겠습니다. 이제 코드가 온라인 편집기와 동기화되지 않는 것을 알 수 있습니다. 이 문제를 해결하려면 온라인 프로젝트에서 코드를 가져오세요.
clasp pull
이제 코드로 돌아갑니다. 유틸리티용 폴더가 있습니다. clasp CLI는 슬래시 문자 /를 로컬 파일 시스템의 폴더로 자동 변환합니다.
즐겨 사용하는 텍스트 편집기에서 util/strings.gs로 이동하여 변수 이름 world을 mondo로 바꿉니다. 또한 world를 mondo로 바꿔 Code.gs를 업데이트합니다. script.google.com에서 업데이트된 코드를 업데이트하려면 수정된 코드를 푸시하세요.
clasp push
이상입니다 script.google.com에 코드가 업데이트되었습니다.
7. 버전 관리 및 배포
clasp를 사용하면 버전과 배포를 관리할 수 있습니다. 먼저 몇 가지 어휘를 살펴보겠습니다.
- 버전: 스크립트 프로젝트의 '스냅샷'입니다. 버전은 배포에 사용되는 읽기 전용 브랜치로 간주할 수 있습니다.
- 배포: 게시된 스크립트 프로젝트 버전입니다 (애드온 또는 웹 앱으로 게시되는 경우가 많음). 버전 번호가 필요합니다.
스크립트 버전을 만들어 보겠습니다.
clasp create-version "First version"
[version] 대신 로깅된 버전 문자열을 사용하여 스크립트를 배포할 수 있습니다.
clasp create-deployment 1 "First deployment"
clasp deploy 명령어는 매니페스트를 확인하고 버전이 지정된 새 배포를 만듭니다. 이제 코드가 실행 파일로 배포됩니다. 자세한 내용은 배포 가이드를 참고하세요.
8. 작업이 끝났습니다.
Apps Script CLI가 Apps Script 프로젝트를 관리하는 데 도움이 되는 간단한 도구가 되기를 바랍니다.
학습한 내용
- 새 Apps Script 프로젝트를 만드는 방법
- 기존 프로젝트를 클론, 푸시, 풀하는 방법
- 스크립트 배포를 관리하는 방법
Clasp는 GitHub에서 사용할 수 있으며 새로운 기능과 패치를 환영합니다.
앞으로 제작하실 멋진 프로토타입을 기대하겠습니다.