最初に
Google Apps Scriptヘビーユーザーの皆様こんにちは! サブスクペイのシステム基盤を担当しております youponpon です。 突然ですが、Google Apps Scirpt プロジェクトのコードが大きくなってきて Git などのコード管理を導入したくなったことはありませんか? 今回は google/clasp を利用して既存の Google Apps Script プロジェクトのコードを Git 管理する方法を説明します。
前提
事前に以下の導入をお願いします。
- Node.js の導入
- Git の導入
今回はWindows 環境用の手順となっておりますが、Node.js / Git が動作する環境であれば基本は同様の手順で Git 管理可能です。
clasp の導入
まずは clasp の導入をします。
- gitリポジトリ用のフォルダーを作成します。
例)C:/projects/documents
- Powershell Console を開き以下 npmの初期化、clasp を導入します。
cd C:/projects/documents # npmの初期化 npm init -y # clespのインストール npm install @google/clasp -g
google へのログイン
Google へログインしてアクセスキーを設定します。
- ログインコマンドを実行します。
clasp login --no-localhost
出力されたURLにブラウザでアクセスします。
Google へのログイン、および承認をします
認証コードを取得します
アクセスキーを入力します
既存のプロジェクトのローカルにクローン
Git 管理したい Google Apps Script プロジェクトをローカルにクローンします。
既存のGoogle Apps Scirptを開きます。
プロジェクトの設定画面からプロジェクトIDを取得します。
Clone を実行します。
clasp clone [project id]
- リモートにあるコードが取得できている事を確認してください。 ※cloneがうまくいかない(Google Apps Scriptのコードが落ちてこない)場合は .clasp.json ファイルを一度削除してみてください
試しに Push してみる
ローカルにクローンした Google Apps Script プロジェクトを編集してリモートに反映してみます。
以下URLの設定画面を開きます。 https://script.google.com/home/usersettings
API を有効化します。
スクリプトファイルを編集してみましょう。
clasp push を実行します。
clasp push
これでリモートに変更が反映されます。反映されているか確認してみましょう。
gitリポジトリの初期化
取得した Google Apps Script のプロジェクトを Git リポジトリへ変換します。
# リポジトリの初期化 git init # .gitignoreの作成 "node_modules/" | Out-File .gitignore # .gitignoreのコミット git add .gitignore git commit -m "first commit"
既存のファイルをすべてコミット
既存のファイルをすべてコミットして、Git 管理下に置きます。
git add --all git commit -m "second commit"
その他
ここまでの手順で既存の Google Apps Script プロジェクトを Git で管理できるようになりました。 あとは、TypeScript 化したり、ファイルを分割したりである程度保守性を高めることが可能になります。 claspの詳細は GitHubやその他のリファレンスにて確認可能です。
https://github.com/google/clasp
We are hiring!!
ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!
speakerdeck.com
www.robotpayment.co.jp
🎉twitter採用担当アカウント開設!🎉どんどん情報発信していきます!!