Codemagicの配信が微妙に面倒だったので、CLIツール作りました!
どうも、SODAでFlutterエンジニアをしているimajoです。
Flutterを使っているみなさんならCodemagicを使ってアプリケーションの配信を行っている人は多いのではないでしょうか?
今回はCodemagicをCLIからスタートできるツール 『cmagic』 を作ったので紹介です。
$ cmagic start
Codemagic配信が意外と面倒という課題
SODAでもストア申請用や、社内配布用としてCodemagicを使っています。
特に社内配布用はPMやQAに確認してもらう目的で、何回も実行する必要があります。
手順としては
- ブラウザを開き
- ブランチを選択し
- ワークフローを選択する
- 終わるのを待つ
- ビルドナンバーを確認して他の人に伝える
と、シンプルですが、ビルドに時間もかかりいつ終わるかを待つために脳のリソースを使ってしまいます。
Slackに通知を送ることも可能ですが、結局Slackを確認しわすれて時間が経ってしまうことも多々あります。
実装完了!その勢いで配信!通知も来る!
実装しているその流れでCodemagicをスタートすることが多いので、CLIからスタートできれば便利なのではないかと思い、このCLIツールを作りました。
特に便利な点を紹介します。
デフォルトのブランチが実装中のブランチ
一般的にはデフォルトのブランチで開発することはないはずです。(個人開発はその限りではありません。)
Featureブランチで開発し、pushし、ブラウザでCodemagicを走らせます。
cmagicを使えばpushその勢いでFeatureブランチの配信をスタートできます。
$ git push
$ cmagic start
*もちろんcmagic start --branch branch_name
でブランチ名を指定できます。
配信終わったらOSの通知が来る
配信が終わるには時間がかるので他の作業をしているとCodemagicの存在を忘れてしまいます。
cmagicを使えば、配信終了直後にOSの通知を送ってくれます。
バージョン、配信番号もわかるのでPM、QAに伝えるのに便利です!
ちなみにこの通知、デフォルトで2,3秒で消えてしまうので設定から変更することをお勧めします!!
使い方
Installing
Homebrewで公開しています。READMEにも記載はしていますが、以下の手順でインストールできます。
brew tap imajoriri/cmagic
brew install cmagic
Token
また、CodemagicのTokenが必要なため、Teams > Personal Account > Integrations > Codemagic API > Show
から取得します。
取得したtokenを環境変数として使います。
# bash
echo 'export CODEMAGIC_API_TOKEN=your_api_token_here' >> ~/.bash_profile
source ~/.bash_profile
# zsh
echo 'export CODEMAGIC_API_TOKEN=your_api_token_here' >> ~/.zshrc
source ~/.zshrc
cmagic start
cmagic start
ブランチはデフォルトで現在のブランチです。
その他にアプリケーション名やワークフロー名を聞かれるので回答していくだけでスタートできます。
作ってみて ・ 使ってみて
cmagicを作ってみて思ったよりベンだなということに気づきました。
ブラウザを開くこと自体は面倒ではないですが、ブランチをgit branch
で取得してきてコピーしたり、配信終わったかなってブラウザ見に行ったりすることがなくなったので生産性も上がっています。
また、実装そのままに配信を始めるという流れが、そのデザイン性がよかったなと思っています。
今後やりたいこと
配信をすることに特化したシンプルなcmagicですが、もし需要があれば
- ビルド一覧を取得
- ビルドをキャンセルする
- リファクタ笑
なども考えています。
ぜひStar⭐️で教えてもらえると嬉しいです!
またバグやニーズをIssueで聞かせてください!!
株式会社SODAの開発組織がお届けするZenn Publicationです。 是非Entrance Bookもご覧ください! → recruit.soda-inc.jp/engineer
Discussion