💨
【必見】同一リポジトリで複数のGASプロジェクトを管理する方法
対象読者
- 複数のGASプロジェクトを管理している人
- 効率よくGASを開発したい人
- ローカルにGASの開発環境を構築したい人
- GAS初心者
紹介すること
- 同一リポジトリで複数のGASプロジェクトを管理する方法
対象プロダクトの紹介
同一リポジトリで複数のGASプロジェクトを管理するためのテンプレート
社内で同じようなことをしているリポジトリがあったので、そちらを参考に作成
mainブランチにマージされると、CI上で clasp push
が行われてGAS上に自動で反映される
# ディレクトリ構成
.
|––Project1 # GASプロジェクト
| |–– .clasp.json # 対象のGAS IDを管理
| |__src
| |––appscript.json # GASのライブラリや設定を管理
| |__index.js # ソースコード(任意のファイル名でOK)
|__Project2
|–– .clasp.json
|__src
|––appscript.json
|__index.js
Setup
- clone this repository
- add clasp
npm install -g @google/clasp
- Repository secretsに
CLASP_TOKEN
を設定
clasp login
を実行すると、/home/{username}/.clasprc.json
が生成されるので、中身を取得する
取得した値をリポジトリ内のRepository secretsにCLASP_TOKEN
という名前で保存する
clasp login
cat /home/{username}/.clasprc.json
新規GASの作成手順
- 新規ディレクトリを作成し、ディレクトリ構成通りにファイルを追加
- GAS上で新規プロジェクトを作成し、GASのプロジェクトIDを取得
-
.clasp.json
にGASのIDを追加 -
index.js
にGASのコードを追加
既存GASのリポジトリへの追加手順
- 既存のGASを追加するための、新規ディレクトリを作成
cd ./[作成したディレクトリ名]
clasp clone [GAS ID] --rootDir ./src
- 必要に応じてディレクトリ構成にあうように、ファイルを動かす
Discussion