本文へスキップ

概要 ​

ProAnima Arkvoryは、ビルドアーティファクトとファイルのためのセルフホスト型リポジトリです。自分のサーバーにインストールして使います。ビルドが生成したファイルを保存し、それを必要とする人やシステム(デプロイエージェント、CI/CDパイプライン、テストマシン、開発者)に配信します。

Arkvoryは、企業を含むすべての方が無料で利用できます。ソースコードは閲覧できますが、オープンソースではありません。組織内での使用と変更は可能です。コピーの再配布、販売、サービスとしての提供はできません。詳しくはライセンスをご覧ください。

対象読者 ​

  • CI/CDエンジニア:ビルドの公開先を1か所にまとめ、バージョンやステージでビルドを探し、デプロイジョブでダウンロードしたい方。
  • 管理者:1台のサーバーで動作し、自動で再起動し、自らバックアップを取り、自分で更新するストレージサービスを求める方。
  • ゲームスタジオ:UnityやUnreal Engineを使うスタジオ。ArkvoryはGit LFSで大容量のバイナリアセットを、npmレジストリでUnityパッケージを、数十ギガバイトに及ぶビルド成果物を保存します。
  • 複数の拠点を持つチーム:リポジトリの読み取り専用コピーを、ダウンロードする人の近くに置きたいチーム。

保存できるもの ​

すべてのデータはリポジトリに保存されます。1つのリポジトリに、複数の種類のコンテンツを同時に置けます。

コンテンツ使い方
アーティファクト(任意のファイル)コンソール、コマンドラインクライアント、SDK、HTTP APIでアップロードします
UPackパッケージグループ、名前、SemVerバージョンを持つ、バージョン管理されたパッケージ。パッケージを参照してください。
パス指定ファイルbuilds/game/1.4/Setup.exeのようなパスで、過去のすべてのバージョンが保持されます。ファイルとパスとRawファイルを参照してください。
コンテナーイメージDocker、Podman、Helm、ORAS向けのOCIレジストリ。コンテナーイメージを参照してください。
Git LFSオブジェクトファイルロックに対応したGit LFSサーバー。Git LFSを参照してください。
npmパッケージとUnityパッケージUnity Package Managerから使えるnpmレジストリ。Unityとnpmのパッケージを参照してください。

保存された各ファイルは、SHA-256チェックサムを持つ不変のアーティファクトです。新しいコンテンツが古いバイト列を置き換えることはなく、新しいアーティファクトが作られます。基本概念を参照してください。

主な機能 ​

  • 大容量ファイル:アップロードはパートに分けて送信され、ネットワーク障害や再起動の後も再開できます。1つのオブジェクトは最大で約10 TiBです。ダウンロードはHTTPのRangeリクエストに対応しているため、こちらも再開できます。
  • アクセス制御:ユーザーアカウント、グループ、個人用アクセストークン、キーを持つサービスアカウントを使えます。各キーには、必要なリポジトリ操作だけが付与されます。
  • ステージとプロモーション:ビルドにqa、release、prodのマークを付けたり、再アップロードなしで別のリポジトリに公開したりできます。デプロイエージェントは「範囲^1.4で最新のreleaseビルド」を要求できます。
  • メタデータ:ラベル、テキストのメタデータ、コレクション、およびマニフェスト、SBOM、署名などの添付ファイル。
  • 保持:パッケージごとに直近N件のビルドを残す、クォータを設定する、古いコンテンツをバックグラウンドで削除する、といった運用ができます。
  • バックアップ:バックアップエージェントが毎日のスケジュールで、データベースとすべてのコンテンツを別のディスクまたはNASの保管庫にコピーし、そのコピーを検証します。
  • ミラー:2つ目のインストールにリポジトリの読み取り専用コピーを保持させ、メインサーバーが利用できないときにそのコピーから配信できます。
  • 読み取りゲートウェイ:同じ共有ストレージ上で動作する、追加のダウンロード用プロセスです。ダウンロード速度の上限を共有します。
  • 自己修復:クラッシュやハングの後にサービスが再起動します。長時間の転送は、再起動後に続行できます。
  • 更新:サーバーは、ProAnimaStudioがハブで承認した署名付きの安定版リリースを確認します。手動で、またはメンテナンス時間帯に自動でインストールでき、以前のバージョンへロールバックすることもできます。
  • Webコンソール:ライトテーマとダークテーマに対応し、11の言語で利用できます。英語、ロシア語、スペイン語、フランス語、ドイツ語、ポルトガル語、中国語、日本語、韓国語、ヒンディー語、アラビア語(右から左へ表示)です。このドキュメントも同じ言語で提供されています。Webコンソールを参照してください。

動作の仕組み ​

Arkvoryは1台のサーバーで動作します。カタログにはPostgreSQLを、コンテンツにはローカルディレクトリを使います。3つのサービスが連携して動作します。

サービス役割
APIHTTPサーバー。API、コンソール、レジストリを提供します。保持ルールの適用と物理クリーンアップも実行します。
ワーカーバックグラウンドジョブ。大容量アップロードの完了処理と、ミラーの同期を行います
バックアップエージェント保管庫へのスケジュールバックアップ

インストール方法は3つあります。

プラットフォームインストーラー詳細
Windows 10/11、Windows ServerArkvory-Setup-x64.exeセットアップウィザード。Node.jsとPostgreSQLが同梱されており、インターネット接続なしで動作します。サービスは、サインインしているユーザーがいなくても実行されます。Windowsを参照してください。
LinuxArkvory-amd64.deb、Arkvory-x86_64.rpmaptとdnf用のパッケージで、systemdサービスが付属します。Linuxを参照してください。
DockerDocker ComposeAPI、ワーカー、バックアップエージェント、PostgreSQLがコンテナーで動作します。Dockerを参照してください。

既定では、サーバーは127.0.0.1:8080のみで待ち受けます。他のマシンから接続する前に、HTTPSを設定してください。

1つのインストールは1台のサーバーです。停止すると、クライアントは復旧するまで待機します。Linuxでは、2台または3台のサーバーからなる高可用性クラスターが、1台の障害時に引き継ぎます。バックアップを使い、必要に応じて2つ目のサイトにミラーを置いてください。

次に読むページ ​

  1. クイックスタート:Arkvoryをインストールして、最初のファイルをアップロードします。
  2. 基本概念:以降のドキュメントで使う用語です。
  3. インストール:各プラットフォームの要件とオプションです。
  4. コマンドラインクライアント:スクリプトやCIからArkvoryを使います。
  5. バックアップ:本番運用の前にデータを保護します。

Arkvory · ProAnimaStudio