티스토리 뷰

발생일: 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 후에 퍼블리싱 과정을 챙겨줘야겠다.



반응형
댓글
공지사항