🐁
Go言語のバージョン追加通知管理データをGitHubで管理する
はじめに
これまでGo
のバージョン通知をSlack
に飛ばすための実装を
2回に渡って記事を書きましたがまた改造したので記事書きます。
今回はデータ管理方法を変更しました。
脱データベース
これまでのリリースバージョン(タグ)はCockroachDB
を使っていました。
無料枠で5GB
まで使えるからです。他に理由はありません。
ただ、一覧取得 -> 差分比較 -> 差分保存 しかしないのに
こんな素晴らしい技術の無料枠を使っているのも勿体無いということで
こちらを移行することにしました。
csvファイルで管理
データ量も少ないし
一覧取得 -> 差分比較 -> 差分保存
みたいな処理しかしないのでcsv
ファイルで十分だと思って
リポジトリに直接保存することにしてみました。
Go
でcsv
を触るときはgocsv
が使いやすいのかなと思います。
CIでデータ更新
Go
アプリでSlack
通知したあとにcsv
ファイルを更新して
差分があれば最後にリポジトリにpushするようにしています。
参考:
おわりに
今回作成したリポジトリはこちらになります。
簡単なデータ構造ですし
DBレスになるのでマイグレーションとかもあまり考える必要がなくなりました。
ただ、データみたいなものをリポジトリで管理することには抵抗があるので
また他に良いアイデアがでれば改造しようかなと思います。
Discussion