Daylogs/Etc
clasp: 구글 앱스 스크립트 로컬에서 개발하기
ohgyun
2019. 3. 2. 03:53
발생일: 2019.03.02
키워드: Google Apps Script, 구글 앱스 스크립트, clasp
문제:
구글 앱스 스크립트를 로컬에서 개발하고 싶다.
기존엔 파일이 크지 않아 온라인에서 수정하거나, 수정 사항이 좀 있을 땐 에디터에 복사해서 수정하고 붙여넣곤 했다.
규모가 조금 커지다보니 더 이상 귀찮아서 못하겠다.
뭔가 도구가 있을 테다.
해결책:
유후. 로컬에서 개발하고 배포할 수 있는 clasp 라는 도구가 있다. 진작에 찾아볼 걸.
npm 으로 바로 설치할 수 있다.
$ sudo npm i @google/clasp -g
구글 계정에서 Apps API 권한을 허용해준 다음,
터미널에서 바로 로그인하면 된다.
$ clasp login
난 이미 프로젝트가 있어서, 로컬에 디렉토리를 만들어 클론했다.
$ clasp clone [스크립트 ID]
한 번 클론한 이후에 원격의 수정 사항을 가져오려면 pull만 하면 된다.
$ clasp pull
로컬에서 파일을 수정한 후에, push 하면 된다.
push 후 온라인 스크립트 에디터에서 확인해보려면 새로고침 한 번 해야한다.ㅎㅎ
$ clasp push
수정 사항으로 새 버전을 따거나 바로 배포할 수도 있다.
간단하게 deploy만 하면, 신규 버전이 따지면서 배포도 된다.
$ clasp deploy
와. 정말 편하다.
온라인 스크립트 에디터를 바로 열 수 있기도 하고!
$ clasp open
논의:
버전 관리는 별도로 git 으로 하면 된다.
clone 한 스크립트 아이디는 .clasp.json 파일에 있다.
로컬 파일이 변경될 때마다 자동으로 push 하고 싶다면, -w (--watch) 옵션을 쓰면 된다. 편하다.
$ clasp -w
로컬에서 함수를 실행할 땐, run 명령을 쓰면 된다.
$ clasp run [함수명]
git 과 비슷하게 status 명령이 있지만 의미는 다르다.
이 명령은 서버에 푸시할 때 포함되는 파일의 목록을 출력해준다.
$ clasp status
deploy 한다고 변경 내용이 서버에 push 되는 건 아니니 주의한다.
수정 전에 push -w 을 걸어두는 게 편하겠다.
또한, deploy 한다고 웹앱이 신규로 퍼블리싱 되는 것도 아니다.
기대한 대로라면 잘 되어야 할 것 같고, 깃헙 이슈에서 논의도 되었지만 아직 해결되지 않은 듯 싶다.
좀 번거롭긴 한데, deploy 후에 퍼블리싱 과정을 챙겨줘야겠다.
반응형