« CloudMonkey | メイン | 星図描画 »

Git

アプリに git リビジョン情報を埋め込む

 gitのコミット情報、例えば
git log -1 --date=iso --format='%cd,%h'
のように整形したコミット情報
2022-10-01 00:00:55 +0900,9bcf00b
を WEB や android アプリに 現在のバージョン情報として埋め込む方法例。...▼
 git に標準で備わるGitフック機能(クライアントサイドフック)を使用。

Git のカスタマイズ - Git フック

 デフォルトでは、監視対象の「.git/hooks」ディレクトリ内のスクリプトが決められたタイミングで実行される。
 今回は、このシェルスクリプトも監視対象とするため「script/githooks」などのディレクトリを作成し、こちらのフックが実行されるように
$ git -C 対象パス config --local core.hooksPath script/githooks
と変更する。
 今回は、コミットした後のタイミングでコミット情報をテキストファイルに書き出すシェルスクリプト
対象パス/script/githooks/post-commit
を作成。
#!/bin/sh
git log -1 --date=iso --format='%cd,%h' > template/ja_JP/version.txt
これは、PHPフレームワークのsmartyテンプレートから {include file="version.txt"} のようにコミット情報を表示させる簡単な例。
 シェルスクリプトの場合 忘れずに実行権限をつける。
$ chmod +x 対象パス/githooks/post-commit

 注意点として ローカルでは最新だが push先のリモートリポジトリは1つ前のコミット情報なので、コミット情報テキストファイルを 監視対象外ファイルとし push のタイミングで ファイル転送してもよい。

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/7745

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)