Skip to content

Instantly share code, notes, and snippets.

@nikolat
Last active April 16, 2024 08:16
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikolat/a980a61345b4d2a18098ca91aea9be2e to your computer and use it in GitHub Desktop.
Save nikolat/a980a61345b4d2a18098ca91aea9be2e to your computer and use it in GitHub Desktop.
伺か Advent Calendar 2021 12月4日の記事

GitHubでゴーストを公開する際にはBOTにネットワーク更新用ファイルを作ってもらおう

伺か Advent Calendar 2021 4日の記事です。
昨日のななっちさんの記事「ななろだについてだべる」に続きましてDonがお送りします。

結論

今日はこれだけ覚えて帰ってください。
GitHubにはネットワーク更新用ファイル(updates.txt)を作ってくれるBOTがいる。
(正確には「updates.txtを自動作成するGitHub Actionsが存在する」)
以上ですお疲れさまでした。以下は読んでも読まなくてもいいです。

ゴーストのネットワーク更新、どうしてる?

何かと面倒なネットワーク更新。みなさんはどうやってますか?

レンタルサーバーを借りてFTPでアップロードしてるよ

王道ですね。古式ゆかしい方法です。自前のサイトが持てるのが何よりの強みであると思います。
ぜひGDMをお使いください。最新版(2021.09.06 0.1.0.38)ではかなりスマートな構成となっており大変オススメです。

ななろだにアップロードしてるよ

昨日のななっちさんの記事でも紹介されている通り、大変便利なアップローダですね。
ネットワーク更新に絡む煩わしさから完全に開放されるのが強みであると思います。

GitHubを利用しているよ

いいですね!私も6月くらいから積極的に利用し始めています。
バージョン管理できるのが強みであり、バグの追跡調査が必要となる機能型ゴーストの開発に向いていると思います。
でも、毎回更新用ファイル作って上書きするの、正直面倒臭くないですか?
たまに上書きするの忘れてMD5不一致エラー出したりしませんか?

GitHub Actionsを設定しよう

ここで活躍するのが冒頭で紹介したGitHub Actionsです。

  1. .gitattributesがあったら削除しておきましょう。改行コードが勝手に書き換えられるのは混乱の元です。
  2. 別途、md5buildignore.txtも作成しておきます。
  3. プロジェクトページの上部メニューからActions->set up a workflow yourselfとworkflow作成画面へ進みます。
  4. 適当なファイル名を設定し、中身をこんな感じに記述し、Start commitボタンを押してコミットします。

これでファイルが更新される度にupdates.txtが自動で作成されます
橘花がmd5 fix~と言いながらコミットしてくれています。可愛いですね。

GitHubをゴーストの更新ファイル置き場にする

以下はこれからGitHubを利用してみようと考えている人向けの補足記事です。
私はななっちさんのGithubでゴーストの更新データを公開しようという記事を参考にしてGitHub Desktopを導入しました。
大まかには記事内容の通りに進んでいけますが、2021年現在では多少異なる部分もありますのでその補足をしておきます。

  1. .gitattributesは上述した通り削除して構わない
  2. デフォルトブランチ名がmasterからmainへ変更されたため、homeurlもそれに合わせる
  3. updates2.dau / updates.txt の作成は上述のGitHub Actionsを使用する場合は不要
  4. 無料プランでもプライベートリポジトリが使える(ゴーストを公開するならパブリックにする必要があります)

ライセンス

この記事はCC0 1.0 Universalの元で公開するものとします。

次回予告

明日5日はOmegaVさんが担当されます。よろしくお願いします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment