Существует два способа запуска локального сервера сборки (Extender):
Примечание для пользователей Windows: используйте git bash для выполнения команд описанных ниже.
gcloud auth application-default login
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
Extender
и переходим в корневую директорию склонированного репозитория
git clone https://github.com/defold/extender.git
cd extender/
TMP_DIR=$(pwd)/server/_tmp
APPLICATION_DIR=$(pwd)/server/app
# set nesessary 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 \
--location=europe-west1 \
--repository=extender-maven \
--package="com.defold.extender:server" \
--sort-by="~createTime" \
--limit=1 \
--format="get(name)" | awk -F'/' '{print $NF}')
MANIFESTMERGETOOL_VERSION=$(gcloud artifacts versions list \
--location=europe-west1 \
--repository=extender-maven \
--package="com.defold.extender:manifestmergetool" \
--sort-by="~createTime" \
--limit=1 \
--format="get(name)" | awk -F'/' '{print $NF}')
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB