GitHub Releases にプロダクトがリリース(タグベース)されたときに、GitHub Webhooks を通して下記の処理をおこないます。
- 自前サーバーにタグ毎にプロダクトの zip を保存
- 自前サーバーに GitHub Latest Release API と同じ形式の json ファイルを保存(zip の URL は自前サーバーに保存したモノに変更)
https://github.com/アカウント名/リポジトリ名/settings/hooks から設定
https://設置URL/適当なディレクトリ名/webhook.php と入力
application/json を選択
適当な文字列を入力(サーバー側で処理するときに、この Secret のときだけ処理するようにしています)
Let me select individual events. を選択し、Releases にのみチェック
GitHub Releases からそのリリースを消すためにアクセストークンが必要です。 https://github.com/settings/tokens から public_repo だけを許可したアクセストークンを取得してください。
コピペして、config.php
にリネームの上、環境にあわせて書き換えてください。
適当なディレクトリ名/
├ config.php
├ lib.php
└ webhook.php