Unreal のビルドに必要な手順、ルール、自動化を一度設定すれば、CI スクリプトやランナーを保守することなく、ブランチとプラットフォームをまたいで実行できます。
テンプレートから始めることも、ゼロから組むこともできます。ステージを追加して設定し、トリガーと条件を決めながら、パイプライン全体を目で確認できます。
順序は組み立てながら検証されます。不正なステージは理由とともにその場で弾かれるため、3 ステージ進んでから失敗することはありません。
手動、プッシュ時、webhook、スケジュールでビルドを実行できます。条件を加えれば、各ステージは必要なときにだけ動きます。
たいていのビルドは、いくつかの標準的な手順で足ります。そうでないビルドもあります。SpeedrunCI は、パイプラインを分けさせることなく、その両方に対応します。
コマンドを書かずに、コンパイル、クック、パッケージング、アーカイブまで。プラットフォームとビルド構成を選び、手順を設定すれば完了です。
任意のステージで生の UAT コマンドを開き、直接編集できます。フラグを一覧し、引数を補完し、Debug から Shipping まで選択でき、専用サーバー向けのビルドも指定できます。
UAT コマンドで表せない処理も、パイプラインのステージとして実行できます。パスの許可リスト、変数、検証、タイムアウトを備えたサンドボックス環境のエディタを利用できます。
HLOD や PCG の生成をビルドファームで実行し、保護された形でバージョン管理へコミットバックできます。
誰かに手作業でエディタを開いてもらう代わりに、HLOD と PCG のコンテンツをパイプラインの一部として生成します。
設定を組み直したり、当時どの設定を使ったかを推測したりせずに、過去のビルドをそのまま再実行できます。
一度ビルドすれば、その成果物を再ビルドせずに複数のパイプラインへ渡せます。
ビルドの成否にかかわらず、終了後に必要な処理を実行します。
ビルドの状況を、パイプラインの一部として Slack、Microsoft Teams、Discord へ送信します。
人の判断が必要な場面では、承認のためにワークフローを一時停止できます。
エンジンバージョンはパイプラインのコードではなく、プロジェクトの設定です。プロジェクトやブランチを必要なバージョンに向けるだけで、パイプラインはそのまま使えます。
パイプラインが記述するのは、ビルドが何をするかです。どの Unreal 環境で実行するかは SpeedrunCI が扱います。つまり次の UE バージョンへの移行は、設定変更であって移植作業ではありません。
再利用できるパイプラインテンプレートとプロファイルを作り、各チームが自分のプロジェクトに合わせて調整できます。ビルド手順を改善したときは、プロジェクトごとに作り直すのではなく、スタジオ全体でそのパターンを共有できます。