クイックスタート
いつものプロジェクトに、最初のワークフローを。まずはローカルで解析とテストを実行してみましょう。
はじめる前に
はじめる前にへのリンクこのガイドでは、FlutterプロジェクトにDartのワークフローを追加し、ローカルで実行します。
- Flutter / Dart SDKがインストールされていること
flutter analyzeとflutter testを実行できるプロジェクトがあること- プロジェクトのルートディレクトリでターミナルを開いていること
Dartパッケージでも同じように使えます。SDKの追加には
dart pub add、解析・テストにはdart analyzeとdart testを使ってください。
01 SDKを追加する
01 SDKを追加するへのリンクFlutterプロジェクトに、ワークフロー用のSDKを追加します。
flutter pub add --dev openci_workflowサービス名はGenuineCI、ワークフローのパッケージ名は openci_workflow です。
02 ワークフローを書く
02 ワークフローを書くへのリンクリポジトリのルートに openci/ ディレクトリを作り、その中に flutter_ci.dart を追加します。
import 'package:openci_workflow/openci_workflow.dart';
Future<void> main() async { final ci = await OpenCI.init( workflowName: 'Flutter CI', ciTriggers: [ CITrigger.push(branch: 'main'), CITrigger.pullRequest(branch: 'main'), ], );
await ci.run('flutter pub get'); await ci.flutter.staticAnalysis(); await ci.flutter.unitTests();}OpenCI.init で名前とトリガーを設定し、await で処理を順番に実行します。解析やテストが失敗すると、ワークフローも失敗として終了します。
03 ローカルで確かめる
03 ローカルで確かめるへのリンク作成したファイルを、いつものDartスクリプトとして実行します。
dart run openci/flutter_ci.dartターミナルに解析とテストの結果が出力されます。CIへ送る前に、ワークフローが自分の環境で動くことを確認できます。
ローカル実行では、手元のFlutterやビルドツールを使用します。ワークフローが必要とするSDKやコマンドをあらかじめ用意してください。
04 CIで動かす準備
04 CIで動かす準備へのリンクリポジトリとGitHub Appの連携、チーム、実行マシンの準備ができたら、ワークフローをコミットして対象ブランチへpushします。openci/ 内のDartファイルのトリガーが、GitHubイベントと照合されます。
ダッシュボードを開くと、ビルドの状況を確認できます。実行イベントの指定はトリガーを参照してください。
次にできること
次にできることへのリンク- Flutterのビルドとテスト — APKやApp Bundleをビルドする
- Dartでワークフローを書く — 関数の再利用やモノレポの設定
- CLIリファレンス — ログインとチームの切り替え