Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@shobyshoby

BitriseのScheduled Buildを使ってキューが詰まる問題を改善する

More than 3 years have passed since last update.

皆さま、CIサービスは何をお使いでしょうか?
私は現在、業務のメインプロダクトではBitriseを使っています。

Bitriseは価格やXcode Betaへの対応の早さなど、多くの良い点がありますが、一番気に入っているのはScheduled Buildです。

Scheduled Buildを使うと、重い処理をGitHubへのPush時からは切り離し、深夜に定期実行することができるため、日中はCIのキューが詰まりづらくなります。

CIのキューが詰まる問題

CIのキューが詰まる問題の要因の一つが、時間のかかる処理が頻繁に実行されることにあります。
iOSアプリ開発の場合、アプリの配布処理がボトルネックになりがちです。

私の場合、developブランチにmergeされるたびに、以下の3つの処理が走っていたのがキューが詰まる原因でした。

  1. Debug Build + Unit Test
  2. Release Build(Development環境)+ Fabric Betaへの配布
  3. Release Build(Production環境)+ Fabric Betaへの配布

上記の処理で、33分程度かかっていました。
Pull Requestが一つmergeされるたびに33分もかかれば、キューも詰まっちゃいますよね。

fril-ios_-_Bitrise.png

(上記の画像は、深夜の定期実行に移した後のものです)

アプリの配布処理を深夜に行う

テスト向けの社内配布であれば、配布するアプリは前日までの変更が反映されていれば事足りる場合がほとんどです。
そのため、配布処理を平日深夜2時に1度だけ行うようにし、Push時はUnit Testのみを行うようにしました。

BitriseのScheduled BuildはBuild一覧から簡単に設定することができます。

fril-ios_-_Bitrise.png

また、Bitriseは手動で任意のブランチをビルドすることもできるため、テストで最新の状態のアプリが必要になった場合にも対応できます。

結果

Push時には8分程度で済むようになり、キューが詰まらなくなっため、日中の開発がストレスなく進むようになりました。

fril-ios_-_Bitrise 2.png

まとめ

BitriseのScheduled Buildを使うと、アプリの配布処理のような重い処理を深夜の定期実行に移すことができるため、日中のキューが詰まりづらくなります。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?