みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
Google Apps Script(GAS)のプロジェクトのバージョン管理をしたいとき、皆さんどうされてますか?
実は、GAS自体にはバージョン管理の機能は存在しておらず、悩みの種になることも…
それを補ってくれるのが、Google Chrome拡張機能「Google Apps Script GitHub アシスタント」です。
今回からシリーズで、その導入方法や使い方についてお伝えしていきますよ!
ということで、まず初回はGASのバージョン管理の課題とGoogle Apps Script GitHub アシスタントができることについてお伝えします。
では、行ってみましょう!
GASのバージョン管理とその課題
まず、バージョン管理とは何か、またGASで何が課題なのかについて確認しておきましょう。
バージョン管理とは
バージョン管理というのは、ソースコードの変更の履歴を記録しておいて、それを管理する機能のことです。
それでいうと、スプレッドシートやドキュメントなどのGoogle Docsには「版の管理」という機能が思い浮かびますよね。それが、まさにバージョン管理の機能です。
GASでライトなツールをサクっと作って運用する分には、問題になることは少ないかもしれません。
しかし、開発の規模が大きかったり、複数人で管理・運用をしたり、長期で引き継ぎをしながら運用したりといったときに、コードの変更の履歴やその際のコメントなどが残っていると助かることも多いのです。
GASのバージョン管理の課題
残念ながら、GASのバージョン管理の機能は不十分です。
GASのスクリプトエディタには、それとは別に「変更履歴」という機能がありましたが、2020年12月の新IDE導入により、機能自体が削除されてしまいました。
(といっても、機能としては大変チープであまり使い勝手の良いものではありませんでしたが…)
コンテナバインドスクリプトであれば、Google Docsの「版の管理」の機能を使って、簡易的にバージョン管理ができないこともありません。
しかし、各バージョンのコードを確認したいときには、該当の版に戻すまたはコピーを作成して、スクリプトエディタを開いて…ととても面倒。現実的ではありません。
ということで、デフォルトの状態では打つ手なし…という状況なのです。
Google Apps Script GitHub アシスタントとその機能
Google Apps Script GitHub アシスタントとは
そこで、Google Apps Script GitHub アシスタントの登場です。
Google Apps Script GitHub アシスタントはGoogle Chromeの機能拡張で、ソースコード管理サービスGitHubと連携してバージョン管理を行うことができるものです。
GitHubには「リポジトリ」という、プロジェクトごとにソースコードの履歴を管理する保管場所をつくることができます。
Google Apps Script GitHub アシスタントは、スクリプトエディタに機能拡張をして、以下の操作を行うことができます。
- GitHubに新しいリポジトリをつくる
- 変更履歴の分岐をつくる(ブランチ)
- 現在のプロジェクトを新たな変更履歴として記録する(コミット・プッシュ)
- GitHubの最新の変更履歴を現在のプロジェクトに反映する(プル)
各機能とその使い方については、シリーズで詳しく紹介していきます。
GitHubでのバージョン管理のメリット
Google Apps Script GitHub アシスタントによるメリットは、ソースコードの履歴を残せる以上のものがあります。
というのも、GitHubはバージョン履歴を記録するだけでなく、他のユーザーと共有したり、コラボレーションをする機能が充実していて、それも活用できるようになるからです。
以下に、まとめてみます。
- ソースコードの履歴とコメントを記録、閲覧、差分確認ができる
- ソースコードを他のユーザーと簡単に共有、配布できる
- 他のユーザーと共同して開発、運用ができる
これは、GASの可能性が大きく広がりそうですね…!!
Gitでのバージョン管理と異なる点
バージョン管理といえばGitというツールを使うのが一般的なのですが、Google Apps Script GitHub アシスタントでのバージョン管理は、Gitとは異なる点がありますので注意が必要です。
具体的には以下となります。
- ローカルリポジトリはなく、直接リモートリポジトリにプッシュ
- コミットはプッシュをしたときにだけ行われる(なので、1コミット=1プッシュ)
- プルをするとプロジェクトが上書きされる(※注意)
Gitを使ったバージョン管理については、以下の記事にまとめていますので、こちらをご覧いただければイメージがつかめると思います。
まとめ
以上、GASのバージョン管理の課題とGoogle Apps Script GitHub アシスタントができることについてお伝えしました。
活用することで、GASの可能性がぐっと広がりそうですよね。
私が運営するコミュニティ「ノンプロ研」でも、ソースコードの管理の学習やライブラリ開発などに取り組んでいきたいと考えています。
さて、次回から、具体的にGoogle Apps Script GitHub アシスタントを導入していきます。
どうぞお楽しみに!