gitコマンドを拡張したhubコマンドでプルリクエストを自動送信する運用例を紹介

Table of Content

本題

実際に運用しているCIの解説です

PRを出す

hubコマンドを使っています。
GithubActionsで実行する分には、デフォルトで入っているので特にインストールコマンドは不要です。
なお、ここではhubコマンドについて解説はしません。helpを見れば大体わかるかなと。

インストール

Macならbrew install hubとかLinux系のディストリビューションならapt install hubとかで入ります。
hubコマンドは色々便利で多機能なので、オプションあたりがややこしいので、エッセンスだけ抽出するとこんな感じです。

hub pull-request -m "${COMMIT_MESSAGE}" -h "${HEAD_BRANCH}" -b "${BASE_BRANCH}" -a "${REVIEWER}" -r "${REVIEWER}"`

オプション解説

オプション オプションと変数の意味
-m コミットメッセージ
-h PR元のブランチ
-b PR先のブランチ。デフォルトブランチがmasterなら省略化

その他使い方

hub – help
# helpの説明
hub pull-request – help
# pull-requestの説明

に、全部書いてます。

運用例

このサイトは静的サイトで作っているため、htmlファイルなどがそのままバックアップにできます。
DBバックアップついでにジェネレータで作ったサイトを毎日の日付のブランチ名にpushし、最新版として運用可能なら公開用ブランチにマージします。
マージの部分は手作業ですが、プルリク出すまではデイリーバッチにしているので、どのデータを使うか、または差し戻すのかすぐに対応できるので非常に重宝しています。

また、バックアップを兼ねているので、マージしたブランチは削除せず残します。
git logをやれば確実に存在するので残しておく意味はないんですが、ヒューマンエラーを防ぐためにも、ブランチで管理する運用としています。

なお、画像はwebpで使いたかったのでcwebpで変換する案も考えたんですが、アドレスの取得に手こずった(ファイル名に日本語を含むため、日本語を変換する必要があった)ため諦めて別管理&運用をしていますが、hubコマンドから外れるので別途機会を作って解説することとします。

シェアする