カンバンとCI/CD運用を改善しました
2026年5月8日(金)から5月19日(火)までに進めた、複数repository対応のカンバン、CI/CDログ画面、worker status、Macランナー、macOSアプリの.zip配布と自動更新の改善をまとめました。
今週のハイライト
主な変更を、導入判断に関係する粒度でまとめています。
- 01カンバン
- タスク、PR、CI状況を追いやすいカンバン画面へ改善
- 02CI/CDログ
- 実行状況とログ詳細を画面サイズに合わせて確認しやすく改善
- 03macOS配布
- .zip配布を開始し、アプリの自動更新機能も追加
カンバンで作業全体を見渡しやすく
OpenCI上でタスクを扱うためのカンバン画面を整えました。コンパクトなボード表示、サイドパネル、ショートカット、チケット番号のコピー時のフィードバックなど、日常的に使う操作を軽くしています。
複数repositoryをまたいだ作業も扱えるようにし、タスクごとに関連するリポジトリやPRへつながりやすくしました。ボードの読み込みや描画も見直し、タスク数が増えても一覧性を保ちやすくしています。作業中、レビュー中、完了などの状態を追いながら、関連するPRやCIの状況へ自然に移動できる画面を目指しています。

PR作成とマージをOpenCI内で進めやすく
GitHubのIssueとPull Requestのひも付けを強化し、OpenCI上からPRを作成する導線を追加しました。PR作成後はダイアログを閉じ、進行状況や完了をSnackBarで知らせる形にして、作業を止めずに次のタスクへ移れるようにしています。
PR差分、CIサマリー、コメント、マージコンフリクトの扱いも改善しました。レビューやマージのためにGitHubとOpenCIを行き来する回数を減らし、カンバン上の作業とコード変更の流れがつながるようにしています。
CI/CDログ画面を読みやすく
CI/CDログ画面には直近の状態を把握するための概要表示を追加し、画面の最上部からログカードだけが並ぶ印象を減らしました。ログ詳細は大きい画面で一覧と詳細を並べて見られるようにし、モバイルでは従来どおり詳細画面へ遷移します。
ビルドジョブにはワークフロー名やステータスの表示を追加し、失敗時にどの処理で止まったのかを追いやすくしました。不要なデバッグログも削除し、成功・失敗の流れや必要な情報が目に入りやすい画面に寄せています。

Worker statusを確認しやすく
Worker画面では、Online、Busy、Error、Offlineの数をひと目で確認できるようにしました。macOS workerとLinux workerを分けて表示し、それぞれのworker名、状態、バージョン、ホスト名、pid、last seenを見られるため、どの実行基盤が使える状態なのかをすぐ判断できます。
特にMacランナーは台数や稼働状況がビルド待ち時間に直結します。worker statusを見られることで、ビルドが詰まっているのか、worker自体が落ちているのか、単にジョブが集中しているのかを切り分けやすくなりました。

Macランナーとキャッシュを強化
macOS / iOS ビルド向けに、Xcodeのコンパイルキャッシュ、Flutter pub cache、安定したビルド環境の準備を進めました。ビルド時間の計測やアーカイブ情報のレポートも追加し、キャッシュが効いているかを後から確認しやすくしています。
署名まわりではプロビジョニングプロファイルの再利用やSparkle向けの署名検証を整備しました。VMイメージ更新も進め、実運用で必要になるビルドとメンテナンスの土台を固めています。
macOSアプリの.zip配布と自動更新
OpenCIのmacOSアプリを.zip形式で配布できるようにしました。Developer ID署名とnotarizeを前提にした配布経路を整えたことで、GitHubやブラウザ経由でダウンロードして試しやすくなっています。
あわせて、macOSアプリには自動更新機能も追加しました。新しいバージョンが公開されたときにアプリ側から更新を確認できるため、毎回手動でzipを探して入れ直す必要が減ります。Sparkleのヘルパー署名も検証し、配布後の更新が安定して動くようにしています。
シークレットと設定画面を整理
変数タブは「シークレット」として扱いを整理し、値の読み取り導線とUIを改善しました。フォームは画面サイズに合わせて扱いやすいモーダルへ寄せ、設定画面にはチームやビルド情報など運用に必要な情報を集約しています。
GitHub Appのインストール、未連携状態、Webhookのエラー処理も改善しました。リポジトリ選択やCI通知、PR編集Webhookなど、OpenCIがGitHubと同期するための境界をより安定させています。