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
Существует два варианта запуска локального сервера сборки (также известного как ‘Extender’):
Прежде чем вы сможете запустить локальный облачный сборщик, необходимо установить следующее программное обеспечение:
После установки указанного выше программного обеспечения выполните следующие шаги для установки и запуска облачных сборщиков Defold:
Примечание для пользователей Windows: используйте git bash для выполнения команд описанных ниже.
Авторизуемся в Google Cloud и создаем учетные данные приложения по умолчанию (Application default credentials/ADC)
gcloud auth login
Настройте Docker для использования реестра артефактов — необходимо настроить Docker для использования gcloud
в качестве помощника по учетным данным при загрузке образов контейнеров из публичного реестра europe-west1-docker.pkg.dev
.
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
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 запустить, то можно использовать адрес http://localhost:9000 как адрес сервера сборки в настройках Редактора или как значение для аргумента --build-server
, если Вы используете Bob для сборки проекта.
Несколько профилей может быть одновременно передано в командную строку. Например:
docker compose -p extender -f server/docker/docker-compose.yml --profile android --profile web --profile windows up
Пример выше запустит frontend сервис, а также сервисы для сборки Android, Web, Windows.
Для остановки всех сервисов - нажмите Ctrl+C если docker compose запущен в режиме без отсоединения, или
docker compose -p extender down
если docker compose был запущен в режиме отсоединения (т.е. флаг ‘-d’ был передан при выполнении команды docker compose up
).
Если вы хотите скачать последние версии 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.
Пожалуйста, следуйте инструкции в репозитории Extender на GitHub, чтобы вручную собрать и запустить локальный сервер сборки.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB