search
LoginSignup
0

More than 3 years have passed since last update.

posted at

アイカツ!のマイページから情報を取得するやつを作る 番外編その1 - 各環境で実行可能なバイナリをgoreleaserでビルドしてGitHub Releasesでリリースする

はじめに

この記事は、アイカツ! Advent Calendar 201811日目の記事です。内容としては、現在大好評稼働中のアーケードゲーム、データカードダス アイカツフレンズ!のマイページから情報を取得するツールを作成中で、その内容と進捗の紹介になります。

前日の記事はsakura_metalさんによるにゃるらと on Twitter: "すんごい今更だけどaikatsupのTwitterCards対応した https://t.co/K3nEO0pRWm"でした。

ちなみに、これまでアイカツ! Advent Calendar 2018では以下のような技術系記事が投稿されています。

aikatsu-dcd-parser

については前回の記事を読んでください。中身は何も変わっていません。

アイカツ!のマイページから情報を取得するやつを作る その1 - Qiita

GoReleaser

Go製ツールで、ビルド対象のアーキテクチャやOS、対象のファイルなどを指定してあげることで、タグに基づいてバイナリをGitHubのReleasesにアップロードすることのできるツールです。

設定例

最新版では、以下(https://github.com/kakakaya/aikatsu-dcd-parser/blob/9e4a1d93e114c5b7aab11843d8737d97846ed6a8/.goreleaser.yml より抜粋、一部割愛)のように設定して、……

builds:
  -
    main:
      ./cmd/dcdkatsu
    binary: dcdkatsu
    goos:
      - windows
      - darwin
      - linux
      - freebsd
    goarch:
      - amd64
archive:
  format: tar.gz
  format_overrides:
    - goos: windows
      format: zip

……リリースしたいバージョンにタグをつけて環境変数$GITHUB_TOKENrepo権限のあるトークンを与えてgoreleaser release --rm-distを実行することで、以下のような形でバイナリを各環境向けにクロスコンパイルして圧縮してGitHubでリリースしておくことができます。
Release v0.1.3 · kakakaya/aikatsu-dcd-parser

2018-12-11_22-17-07.png

おわりに

なんか11日目がなかったのでスッと差し込みました。スマブラの対応に追われており進捗が微妙です。今後やることは以下のとおりです。前回の記事からの変更点が太字になっています。

  • 取得間隔の制限(サーバへの負荷を防ぐため)
  • 取得可能な機能の追加
    • デジタルバインダーの取得
    • ログインが必要な部分の取得
    • フレンズ
    • バッジ
    • ランキング実績
    • 大会実績
    • アーカイブ
      • アイカツスターズ!1弾〜5弾
      • アイカツスターズ!星のツバサ編
  • 取得結果の保存、差分表示
  • テストの作成
    • ランキング周りが面倒そう
  • CI
    • やるだけ
    • 今回GoReleases入れたのでこれもいい感じにできるようにしたい
  • リリース方法のいい感じ化
    • .debを配布したい
    • AURに置きたい

他にも欲しい機能やマサカリがあったら、この記事のコメントにお願いします。これは非公式なものであり、データカードダス アイカツフレンズ!公式や、バンダイナムコ、その他権利者の方に問い合わせないようお願いします。また、怒られたらすぐに消します。

明日はnyakuroさんの「アイカツ関連のdiscord botについて書く予定」です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0