📚
clasp,GithubActionsを使ってGASの開発環境を整える
背景
GASで開発をすることが多いので、githubでコード管理をしていきたい。
GASでの開発は2種類存在する。
- 簡単な開発でgitに1度pushして終わる開発
- 適宜更新が必要な開発
簡単な調査をしたところ、1と2で開発の方法を分けたほうが良さそう。
調査に使った記事は下記。
実際に実装してみたら、どっちの場合でも、claspを使ってしまうのがラク。
本記事では「2. 適宜更新が必要な開発」を踏まえて、claspの構築について記載する。
構築
今回は既存のコードがあるので、それをpullすることでgit管理する。
claspの導入
構築は以下のサイトを参考に実施したら問題なく構築できた。
但しこれでは自動反映されないため面倒。CI/CD的に扱えるようにしたい。
自動デプロイ
複数プロジェクトを同じフォルダで管理しているので、複数プロジェクトに対応しながら進めていく。
引っかかった点としては、clasp login
を各フォルダ内で実行する必要があること。
actの導入
Github Actionsの開発にて効率が悪すぎるので、actも導入した。
これで、commitせずにローカルで実行できる。
dockerを起動し、actを実行するだけ。
しかし、actだとREFRESH_TOKEN
だけシークレットコードを持ってくることができないため、コードをベタ張りすることでデバックした。コードをアップロードするとkeyでも問題なく使うことができる。
不思議すぎる。
Webへのデプロイ
通常のclasp push
だとコードをGASエディタに反映するだけなので、webデプロイまでもっていきたい。
リンクが変わってしまうと面倒なので、デプロイのIDは変更せずにwebデプロイを実施する。
これでVSCodeなどを用いて普通に開発ができる。
clasp push:
コードをウェブのGASエディタに反映する(反映のみ)
clasp deploy:
新しいバージョンを作る(公開はなし)
clasp deploy --deploymentId $DEPLOYMENT_ID:
最新バージョンを公開する
Typescriptへの反映
実施しようとしたがコードの大幅な変更が必要なため、断念。
環境構築のみ実施。
Discussion