セルフホスト
Firebase、GCP、Apple SiliconのMacを使ったOpenCIの構成を知る。
自分の環境で動かす
自分の環境で動かすへのリンクOpenCIはオープンソースのCIです。FirebaseとGCPでジョブを管理し、Orchard経由でApple SiliconのMac上にビルド用VMを起動します。
ソースコードと構成ファイルは、GitHubリポジトリで公開しています。
主な構成
主な構成へのリンク| コンポーネント | 役割 |
|---|---|
| ダッシュボード・Firebase Auth | サインイン、チームとビルドの管理 |
| Firebase SQL Connect | チーム、ジョブ、ログ、課金状態の保存 |
| Firebase Functions | Webhookの受信、ジョブ作成、実行の割り当て |
| Cloud Run executor | Orchard経由のワークフロー実行と結果の記録 |
| Orchard Controller・Macワーカー | macOS VMの割り当てと起動 |
| GitHub App | 対象リポジトリとの連携とイベントの受信 |
ローカルでDartワークフローを実行するだけなら、これらのデプロイは不要です。クイックスタートから試せます。
開発とデプロイ
開発とデプロイへのリンク旧APIサーバー、PostgreSQLのCompose構成、旧CLIの dev start コマンドは廃止しました。単独で起動できるFirebase Auth Emulatorは引き続き利用できます。Functions、Data Connect、ビルド実行環境はそれぞれ設定します。
自分の環境では、サービスアカウント、GitHub・Stripe連携、ネットワーク、シークレット、Macワーカーを設定してください。デプロイ記録内のプロジェクトIDなどはOpenCI本番環境の値なので、自分のリソースに置き換えます。