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
Es gibt zwei Möglichkeiten, einen lokalen Build-Server (auch „Extender“ genannt) zu betreiben:
Bevor du einen lokalen Cloud-Build-Server betreiben kannst, musst du die folgende Software installieren:
Sobald du die oben genannte Software installiert hast, führe die folgenden Schritte aus, um die Cloud-Build-Server von Defold zu installieren und zu betreiben:
Hinweis für Windows-Nutzer: Verwende das Git-Bash-Terminal, um die folgenden Befehle auszuführen.
Autorisierung bei Google Cloud und Erstellung von Standardanmeldedaten für Anwendungen - Du benötigst ein Google-Konto, um die Docker-Container-Images herunterzuladen. Dadurch kann das Defold-Team die faire Nutzung der öffentlichen Container-Registry überwachen und sicherstellen sowie Konten vorübergehend sperren, die übermäßig viele Images herunterladen.
gcloud auth login
Docker für die Nutzung von Artefakt-Registrys konfigurieren - Docker muss so konfiguriert werden, dass es gcloud als Hilfsprogramm für Zugangsdaten verwendet, wenn Container-Images aus der öffentlichen Container-Registry unter europe-west1-docker.pkg.dev heruntergeladen werden.
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) und das Werkzeug zum Zusammenführen von Manifesten (manifestmergetool.jar) herunter:
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
Dabei kann profile einen der folgenden Werte haben:
docker compose findest du unter https://docs.docker.com/reference/cli/docker/compose/.Sobald docker compose läuft, kannst du http://localhost:9000 als Build server address in den Editoreinstellungen verwenden oder als Wert für --build-server, wenn du das Projekt mit Bob erstellst.
Du kannst mehrere Profile auf der Kommandozeile übergeben. Zum Beispiel:
docker compose -p extender -f server/docker/docker-compose.yml --profile android --profile web --profile windows up
Das obige Beispiel startet Instanzen für das Frontend, Android, Web und Windows.
Um die Dienste zu stoppen, drücke Ctrl+C, wenn docker compose im Vordergrund läuft, oder führe folgenden Befehl aus,
docker compose -p extender down
wenn docker compose im Hintergrund gestartet wurde (z. B. wenn die Option ‘-d’ an den Befehl docker compose up übergeben wurde).
Wenn du die neuesten Versionen der JAR-Dateien herunterladen möchtest, kannst du mit dem folgenden Befehl die jeweils neueste Version ermitteln:
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)")
Die Builds für macOS und iOS werden auf echter Apple-Hardware mit einem Build-Server erstellt, der eigenständig ohne Docker läuft. Stattdessen werden XCode, Java und andere erforderliche Werkzeuge direkt auf dem Rechner installiert, und der Build-Server läuft als normaler Java-Prozess. Wie du das einrichtest, erfährst du in der Dokumentation zum Build-Server auf GitHub.
Befolge die Anweisungen im Extender-Repository auf GitHub, um einen lokalen Build-Server manuell zu erstellen und zu betreiben.