This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
ローカルのビルドサーバー(build server、別名「Extender」)を実行する方法には、次の2つがあります:
ローカルでクラウドビルダーを実行するには、あらかじめ次のソフトウェアをインストールする必要があります:
上記のソフトウェアをインストールしたら、次の手順に従って Defold のクラウドビルダーをインストールして実行します:
Windows ユーザーへの注意:以下のコマンドの実行には git bash ターミナルを使用してください。
Google Cloud へのアクセスを認可し、アプリケーションのデフォルト認証情報を作成します - Docker コンテナーイメージのダウンロードには Google アカウントが必要です。これにより、Defold 側で公開コンテナーレジストリの利用を監視して公平な利用を確保し、イメージを過剰にダウンロードするアカウントを一時的に停止できます。
gcloud auth login
Artifact Registry を使用するように Docker を設定します - europe-west1-docker.pkg.dev の公開コンテナーレジストリからコンテナーイメージをダウンロードする際に、認証情報ヘルパーとして gcloud を使用するように Docker を設定する必要があります。
gcloud auth configure-docker europe-west1-docker.pkg.dev
docker pull --platform linux/amd64 europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:latest
git clone https://github.com/defold/extender.git
cd extender
extender.jar)とマニフェストマージツール(manifestmergetool.jar)をダウンロードします:
TMP_DIR=$(pwd)/server/_tmp
APPLICATION_DIR=$(pwd)/server/app
# set necessary version of Extender and Manifest merge tool
# versions can be found at Github release page https://github.com/defold/extender/releases
# or you can pull latest version (see code sample below)
EXTENDER_VERSION=2.6.5
MANIFESTMERGETOOL_VERSION=1.3.0
echo "Download prebuild jars to ${APPLICATION_DIR}"
rm -rf ${TMP_DIR}
mkdir -p ${TMP_DIR}
rm -rf ${APPLICATION_DIR}
mkdir -p ${APPLICATION_DIR}
gcloud artifacts files download \
--project=extender-426409 \
--location=europe-west1 \
--repository=extender-maven \
--destination=${TMP_DIR} \
com/defold/extender/server/${EXTENDER_VERSION}/server-${EXTENDER_VERSION}.jar
gcloud artifacts files download \
--project=extender-426409 \
--location=europe-west1 \
--repository=extender-maven \
--destination=${TMP_DIR} \
com/defold/extender/manifestmergetool/${MANIFESTMERGETOOL_VERSION}/manifestmergetool-${MANIFESTMERGETOOL_VERSION}.jar
cp ${TMP_DIR}/$(ls ${TMP_DIR} | grep server-${EXTENDER_VERSION}.jar) ${APPLICATION_DIR}/extender.jar
cp ${TMP_DIR}/$(ls ${TMP_DIR} | grep manifestmergetool-${MANIFESTMERGETOOL_VERSION}.jar) ${APPLICATION_DIR}/manifestmergetool.jar
docker compose -p extender -f server/docker/docker-compose.yml --profile <profile> up
profile には、次の値を指定できます:
docker compose の引数について詳しくは、https://docs.docker.com/reference/cli/docker/compose/ を参照してください。docker compose が起動したら、エディターの環境設定の Build server address に http://localhost:9000 を指定できます。Bob を使用してプロジェクトをビルドする場合は、--build-server の値に指定できます。
コマンドラインには複数のプロファイルを渡せます。たとえば:
docker compose -p extender -f server/docker/docker-compose.yml --profile android --profile web --profile windows up
上記の例では、フロントエンド、Android、Web、Windows のインスタンスを実行します。
サービスを停止するには、docker compose が非デタッチモードで実行されている場合は Ctrl+C を押します。デタッチモードで実行されている場合は、次のコマンドを実行します:
docker compose -p extender down
デタッチモードでの実行とは、たとえば docker compose up コマンドに ‘-d’ フラグを渡した場合です。
最新バージョンの jar をプルしたい場合は、次のコマンドを使用して最新バージョンを確認できます。
EXTENDER_VERSION=$(gcloud artifacts versions list \
--project=extender-426409 \
--location=europe-west1 \
--repository=extender-maven \
--package="com.defold.extender:server" \
--sort-by="~createTime" \
--limit=1 \
--format="value(name)")
MANIFESTMERGETOOL_VERSION=$(gcloud artifacts versions list \
--project=extender-426409 \
--location=europe-west1 \
--repository=extender-maven \
--package="com.defold.extender:manifestmergetool" \
--sort-by="~createTime" \
--limit=1 \
--format="value(name)")
macOS と iOS のビルドは、実際の Apple ハードウェア上で、Docker を使わずにスタンドアロンモードで動作するビルドサーバーを使用して行います。この場合、XCode、Java、その他の必要なツールをマシンに直接インストールし、ビルドサーバーを通常の Java プロセスとして実行します。セットアップ方法については、GitHub のビルドサーバードキュメントを参照してください。
ローカルビルドサーバーを手動でビルドして実行するには、GitHub の Extender リポジトリにある手順に従ってください。