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 і створіть стандартні облікові дані застосунку — Для завантаження образів контейнерів Docker потрібен обліковий запис Google, щоб ми могли відстежувати й забезпечувати справедливе використання публічного реєстру контейнерів і тимчасово блокувати облікові записи, які завантажують надмірну кількість образів.
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
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 запущено, можна використовувати http://localhost:9000 як Build server address у налаштуваннях редактора або як значення --build-server, якщо ви використовуєте Bob для збирання проєкту.
У командному рядку можна передати кілька профілів. Наприклад:
docker compose -p extender -f server/docker/docker-compose.yml --profile android --profile web --profile windows up
Наведений вище приклад запускає екземпляри фронтенду, Android, Web і Windows.
Щоб зупинити сервіси, натисніть Ctrl+C, якщо docker compose працює не у фоновому режимі, або виконайте
docker compose -p extender down
якщо docker compose було запущено у фоновому режимі (наприклад, команді 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.
Дотримуйтеся інструкцій у репозиторії Extender на GitHub, щоб вручну зібрати й запустити локальний сервер збирання.