ROBOT PAYMENT Engineers Blog

株式会社ROBOT PAYMENTのテックブログです

既存のGoogle Apps Scriptプロジェクトのコードを Git で管理!

最初に

Google Apps Scriptヘビーユーザーの皆様こんにちは! サブスクペイのシステム基盤を担当しております youponpon です。 突然ですが、Google Apps Scirpt プロジェクトのコードが大きくなってきて Git などのコード管理を導入したくなったことはありませんか? 今回は google/clasp を利用して既存の Google Apps Script プロジェクトのコードを Git 管理する方法を説明します。

前提

事前に以下の導入をお願いします。 - Node.js の導入 - https://nodejs.org/ja/download/ - Git の導入 - https://git-scm.com/

今回はWindows 環境用の手順となっておりますが、Node.js / Git が動作する環境であれば基本は同様の手順で Git 管理可能です。

clasp の導入

まずは clasp の導入をします。

  1. gitリポジトリ用のフォルダーを作成します。

    例)C:/projects/documents

  2. Powershell Console を開き以下 npmの初期化、clasp を導入します。
cd C:/projects/documents

# npmの初期化
npm init -y

# clespのインストール
npm install @google/clasp -g

google へのログイン

Google へログインしてアクセスキーを設定します。

  1. ログインコマンドを実行します。
clasp login --no-localhost
  1. 出力されたURLにブラウザでアクセスします。

  2. Google へのログイン、および承認をします

  3. 認証コードを取得します

  4. アクセスキーを入力します

既存のプロジェクトのローカルにクローン

Git 管理したい Google Apps Script プロジェクトをローカルにクローンします。

  1. 既存のGoogle Apps Scirptを開きます。

  2. プロジェクトの設定画面からプロジェクトIDを取得します。

  3. Clone を実行します。

clasp clone [project id]
  1. リモートにあるコードが取得できている事を確認してください。 ※cloneがうまくいかない(Google Apps Scriptのコードが落ちてこない)場合は .clasp.json ファイルを一度削除してみてください

試しに Push してみる

ローカルにクローンした Google Apps Script プロジェクトを編集してリモートに反映してみます。

  1. 以下URLの設定画面を開きます。 https://script.google.com/home/usersettings

  2. API を有効化します。

  3. スクリプトファイルを編集してみましょう。

  4. 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