Flutter CI v.1.0.0 がBitriseに登場しました!
Flutterの初版がリリースされて以降、Bitrise上でもFlutterプロジェクトに多くの機能を搭載したスクリプトステップが追加されてきました。コミュニティの方々のビルドをいつも楽しく拝見させてもらっています。Flutter ステップのアップグレードもすぐに行われました(Karol様ありがとうございます!)。
そして本日、新たなステップを踏むため、Bitriseは全ての機能が備わったFlutter CIを提供が始まりました!
Flutterのサポートってどういうこと?
本日より、Flutterで作成しているアプリをBitriseのスキャナーに追加できるようになりました。この機能は、2つの異なったFlutterのワークフローのテスト・ビルド・デプロイ作業を可能にします。この記事の後半に手順を載せておりますので、そちらをご覧ください。
Flutter コミュニティへのサポート
Flutterの登場からまだあまり月日は経っていませんが、Flutterは世界中でたくさんの人が使用するフレームワークにまで成長しました。考えられる理由は、Google社内のFlutterチームによる会社への献身性が挙げられます。緊密なコミュニティ内の成長、Flutterを支援してきたコミュニティによるものだとも考えられます(Tim様ありがとうございます!)。そのコミュニティの一部の方々がBitriseにも貢献してくださり、SwiftやKotlinなどといった技術に関する基準を提供してくれました。Flutter CIにおいて最適な場所を築き続けるために、Bitriseの公共Slackに新たに#flutter を追加いたしました。このハッシュタグよりToolingチームメンバー(モバイル開発者でかつFlutterのユーザーでもあります)とBitriseユーザーの皆さんとの情報共有が可能となります。
その上で、我々Bitriseチームは今年3月にFlutter Japan User Group 主催のFlutter Meetup でお話させて頂くことも決定いたしました。そして、我々の訪日中にできるだけ多くのFlutterに関するイベント・ミートアップの支援・参加を考えております。定期的にMeetup(交流会)を主催されている企業・コミュニティの皆様で、Bitriseチームにお手伝いできることがありましたら、ここをクリックして手順に沿って必要事項の記入をお願いします。すぐにお返事いたします!
特徴や機能といったより詳細な情報はBitriseのFlutter CIページ上にてご確認いただけます。
・開発者・チーム・企業への支援
・Flutter と ネイティブプロジェクト間のワークフローの再利用
・Github、Gitlab、BitbucketやローカルホストのGitに対応
・セットアップが簡単な、200以上のサービスやステップとの統一性
・小規模なビルドは無料で使用でき、オープンソースアプリであれば有料プランを無料で使えます!
皆様のBitriseでのFlutter開発に満足してもらえるよう、定期的に更新・問題の修正を行ってまいります。
FlutterアプリのBitriseへの追加
Flutter アプリをBitriseに追加する手順を説明します。
1. Flutter Repoを選択してください。スキャナーがFlutterアプリであるか認識します。
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfd5_60550da94e66a5903a7af67c_OQsNikRzTsy5NLho6Qcx.png)
2. Repository accessとBranchを設定してください。
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfb7_60550da95405259140540996_SGY7AwTfSf15RrTfREl7.png)
3. そのアプリにはTestがRepo内にありますか?それを使ったり、アップデートする予定ですか?
(なくても構いませんが、ビルドが失敗しないよう注意してください!)
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfad_60550da934085c453ab732c9_07w1VG18Tqu6CrTuoZTB.png)
4. ipa export method (ipaをエクスポートする方法)を選択してください。
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfbe_60550da987ebb07b4ae90c8f_rOAuKJ2jToSecv2pEs7g.png)
5. Webhookに登録してください。
6. 最初のビルドが確認できます!
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfa4_60550da9c1656ef40dd89b1c_fumbzEEARKOohKXUfRV8.png)
ワークフロー(デフォルト)
プロジェクト用にデフォルトのワークフローが2つ用意されています。
primary (プライマリー)
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfd0_60550da9be4ca73c7dcd391a_3xNgb0qpRm9gq56vIJJQ.png)
プライマリーではFlutterのインストール・テストを行いますが、テストは任意で選択できます。
Flutter Analyze ステップ時に静的コードテストが行われます。
deploy (デプロイ)
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfcc_60550da9ed4a1c4181b2e522_1mx7kcDNSCW5P7t3sBit.png)
Deploy workflowはFlutterのインストール、アプリのテスト(任意)、.apkやiOSアプリのビルドを行います。Xcode Archiveについても含まれており、最終的な.ipaの生成が行われます。
サポート対象:
1. Flutter.app プロジェクト
2. Package (パッケージ)
3. Library(ライブラリ)
Flutter.appに関しましては、iOSアプリの取得後にXcode Archiveステップを取得することができます。
PackageとLibraryにつきましては、FlutterビルドステップやFlutterアーカイブステップはワークフローに含まれません。
iOSアプリをお持ちの方は、Codesigningファイルが必要です。Workflow editorやCodesign tabを前もってアップロードしておいてください。
4つの新しいステップ
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfd8_60550da9bb597fdb81c3b084_xOnH0ZQfTpuCLh1PuLMD.png)
新たに4つのFlutterステップを作成いたしましたので、定義済みのワークフローでご確認いただけます。
Flutter Install 〜Flutter のインストール〜
![flutter_install_step_settings.png](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfc2_60550da9740ffa91c4f74de0_0ua8gHy8SBeLR7TWBXlj.png)
Flutter InstallはFlutterのバージョンを指定できます。ここでは「Flutter SDK version」を選択してください。デフォルトでは常に最新版が表示されます。
Flutter Test 〜Flutter テスト〜
![flutter_test_step_settings.png](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdf9d_60550da991ae8531c665eca1_KkxGr9vMSeKUoSOA8LRj.png)
このステップではflutter test コマンドが行われます。Project Location(プロジェクトのroot dir)を設定してください。Additional Parameters (パラメータの追加)をここで加えることができます。
Flutter Analyze 〜Flutter アナライズ〜
![undefined](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfdb_60550da9754e4f630850f250_SdW2wdBR0Wn3WbXoWhyb.png)
このステップではflutter analyze コマンドが行われます。Project Location(プロジェクトのroot dir)を設定してください
Additional Parameters (パラメータの追加)をここで加えることができます。
Flutter Build 〜Flutter ビルド〜
![flutter_build_step_settings.png](https://cdn.prod.website-files.com/5db35de024bb988f5fb4e168/6616849a93a61784615bdfe5_60550daa754e4fb38750f26d_MLjoC6gcSW6ru82ZoXnC.png)
ここでは flutter build apk とflutter build ios コマンドが行われます。Project Location(プロジェクトのroot dir)、ビルドをするプラットフォーム(AndroidかiOS、もしくは両方)を選択してください。
iOS の設定
- Codesign identity:2つ以上のCodesign Identityがある場合、その中から一つ選ぶことができます。
- Additional Parameters(パラメータの追加): flutter build ios に追加したいものがある場合、ご利用ください。
- Output pattern(アウトプット・パターン):ステップのエクスポートする内容を設定いただけます。
Androidの設定
- Additional Parameters(パラメータの追加): flutter build apk に追加したいものがある場合、ご利用ください。
- Output pattern(アウトプット・パターン):ステップのエクスポートする内容を設定いただけます。
万が一不具合があるようでしたら、Bitrise共同Slackのハッシュタグ#flutterにてコメントをお願いいたします。Bitriseエンジニアチームが終日管理しておりますので、すぐに対応させていただきます。
チャット機能(画面の右側下部にあるアイコン)やBitrise日本語アカウント(@BitriseJ)からも皆様のご意見お待ちしております。
Happy building! 🚀