🐀

Go言語のバージョン追加通知管理データをGitHubで管理する

2022/10/02に公開約900字

はじめに

これまでGoのバージョン通知をSlackに飛ばすための実装を
2回に渡って記事を書きましたがまた改造したので記事書きます。

https://zenn.dev/takokun/articles/8562a278bb2010

https://zenn.dev/takokun/articles/6d7f76e0c27c8d

今回はデータ管理方法を変更しました。

脱データベース

これまでのリリースバージョン(タグ)はCockroachDBを使っていました。

https://www.cockroachlabs.com/

無料枠で5GBまで使えるからです。他に理由はありません。
ただ、一覧取得 -> 差分比較 -> 差分保存 しかしないのに
こんな素晴らしい技術の無料枠を使っているのも勿体無いということで
こちらを移行することにしました。

csvファイルで管理

データ量も少ないし
一覧取得 -> 差分比較 -> 差分保存
みたいな処理しかしないのでcsvファイルで十分だと思って
リポジトリに直接保存することにしてみました。

https://github.com/gocarina/gocsv

Gocsvを触るときはgocsvが使いやすいのかなと思います。

CIでデータ更新

GoアプリでSlack通知したあとにcsvファイルを更新して
差分があれば最後にリポジトリにpushするようにしています。

参考:
https://www.pnkts.net/2020/07/25/github_actions-git-commit-push

おわりに

今回作成したリポジトリはこちらになります。

https://github.com/takokun778/golang-tag/tree/v3.0.0

簡単なデータ構造ですし
DBレスになるのでマイグレーションとかもあまり考える必要がなくなりました。
ただ、データみたいなものをリポジトリで管理することには抵抗があるので
また他に良いアイデアがでれば改造しようかなと思います。

Discussion

ログインするとコメントできます