Manuals
Manuals




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

Konfiguracja lokalnego serwera budowania

Istnieją dwa sposoby uruchomienia lokalnego serwera budowania, znanego też jako Extender:

  1. Uruchomienie lokalnego serwera budowania z wcześniej przygotowanymi artefaktami.
  2. Uruchomienie lokalnego serwera budowania z artefaktami zbudowanymi lokalnie.

Jak uruchomić lokalny Extender ze wstępnie skonfigurowanymi artefaktami

Zanim uruchomisz lokalny serwer budowania, musisz zainstalować następujące oprogramowanie:

  • Docker - Docker to zestaw produktów typu platform as a service, które wykorzystują wirtualizację na poziomie systemu operacyjnego do dostarczania oprogramowania w pakietach zwanych kontenerami. Aby uruchamiać lokalnie serwery budowania w chmurze na swojej maszynie deweloperskiej, musisz zainstalować Docker Desktop
  • Google Cloud CLI - Google Cloud CLI to zestaw narzędzi do tworzenia zasobów Google Cloud i zarządzania nimi. Narzędzia można zainstalować bezpośrednio od Google albo z menedżera pakietów, takiego jak Brew, Chocolatey lub Snap.
  • Potrzebujesz też konta Google, aby pobierać kontenery z platformowymi serwerami budowania.

Po zainstalowaniu powyższego oprogramowania wykonaj poniższe kroki, aby zainstalować i uruchomić chmurowe serwery budowania Defold:

Uwaga dla użytkowników Windows: do wykonania poniższych poleceń użyj terminala Git Bash.

  1. Autoryzuj się w Google Cloud i utwórz Application default credentials - Podczas pobierania obrazów kontenerów Docker musisz mieć konto Google, abyśmy mogli monitorować korzystanie z publicznego rejestru kontenerów, dbać o uczciwe korzystanie z zasobów i tymczasowo zawieszać konta, które pobierają obrazy w nadmiernej liczbie.

    gcloud auth login
    
  2. Skonfiguruj Docker do używania Artifact Registry - Docker musi być skonfigurowany tak, aby podczas pobierania obrazów kontenerów z publicznego rejestru kontenerów pod adresem europe-west1-docker.pkg.dev używał gcloud jako pomocnika poświadczeń.

    gcloud auth configure-docker europe-west1-docker.pkg.dev
    
  3. Sprawdź, czy Docker i Google Cloud są poprawnie skonfigurowane - Potwierdź, że Docker i Google Cloud zostały poprawnie skonfigurowane, pobierając obraz bazowy używany przez wszystkie obrazy kontenerów serwera budowania. Zanim uruchomisz poniższe polecenie, upewnij się, że Docker Desktop działa:
    docker pull --platform linux/amd64 europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:latest
    
  4. Sklonuj repozytorium Extender - Gdy Docker i Google Cloud są już poprawnie skonfigurowane, jesteśmy prawie gotowi do uruchomienia serwera. Zanim go uruchomimy, musimy sklonować repozytorium Git zawierające serwer budowania:
    git clone https://github.com/defold/extender.git
    cd extender
    
  5. Pobierz gotowe pliki JAR - Następnym krokiem jest pobranie gotowego serwera (extender.jar) i narzędzia do scalania manifestów (manifestmergetool.jar):
     TMP_DIR=$(pwd)/server/_tmp
     APPLICATION_DIR=$(pwd)/server/app
     # ustaw wymaganą wersję Extender i Manifest merge tool
     # wersje znajdziesz na stronie wydań GitHub: https://github.com/defold/extender/releases
     # albo możesz pobrać najnowszą wersję (zobacz przykład kodu poniżej)
     EXTENDER_VERSION=2.6.5
     MANIFESTMERGETOOL_VERSION=1.3.0
     echo "Pobieranie gotowych plików JAR do ${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
    
  6. Uruchom serwer - Możemy teraz uruchomić serwer, wykonując główne polecenie docker compose:
    docker compose -p extender -f server/docker/docker-compose.yml --profile <profile> up
    

    gdzie profile może mieć jedną z następujących wartości:

    • all - uruchamia zdalne instancje dla każdej platformy
    • android - uruchamia instancję frontendu i zdalne instancje do budowania wersji Android
    • web - uruchamia instancję frontendu i zdalne instancje do budowania wersji Web
    • linux - uruchamia instancję frontendu i zdalne instancje do budowania wersji Linux
    • windows - uruchamia instancję frontendu i zdalne instancje do budowania wersji Windows
    • consoles - uruchamia instancję frontendu i zdalne instancje do budowania wersji Nintendo Switch/PS4/PS5
    • nintendo - uruchamia instancję frontendu i zdalne instancje do budowania wersji Nintendo Switch
    • playstation - uruchamia instancję frontendu i zdalne instancje do budowania wersji PS4/PS5
    • metrics - uruchamia VictoriaMetrics i Grafana jako backend metryk oraz narzędzie do wizualizacji Więcej informacji o argumentach docker compose znajdziesz pod adresem https://docs.docker.com/reference/cli/docker/compose/.

Gdy docker compose działa, możesz użyć http://localhost:9000 jako adresu Build Server w preferencjach edytora albo jako wartości --build-server, jeśli do budowania projektu używasz Boba.

Do polecenia można przekazać kilka profili. Na przykład:

docker compose -p extender -f server/docker/docker-compose.yml --profile android --profile web --profile windows up

Powyższy przykład uruchamia instancję frontendu oraz instancje Android, Web i Windows.

Aby zatrzymać usługi, naciśnij Ctrl+C, jeśli docker compose działa w trybie nieodłączonym, albo

docker compose -p extender down

jeśli docker compose uruchomiono w trybie odłączonym, na przykład z przekazaną flagą -d do polecenia docker compose up.

Jeśli chcesz pobrać najnowsze wersje plików JAR, możesz użyć poniższego polecenia, aby ustalić ich najnowsze wersje:

    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)")

A co z macOS i iOS?

Kompilacje dla macOS i iOS są wykonywane na prawdziwym sprzęcie Apple przy użyciu serwera budowania działającego w trybie stand-alone, bez Dockera. Zamiast tego Xcode, Java i inne wymagane narzędzia są instalowane bezpośrednio na maszynie, a serwer budowania działa jako zwykły proces Java. Jak to skonfigurować, dowiesz się z dokumentacji serwera budowania na GitHub.

Jak uruchomić lokalny Extender z artefaktami zbudowanymi lokalnie

Aby ręcznie zbudować i uruchomić lokalny serwer budowania, postępuj zgodnie z instrukcjami w repozytorium Extender na GitHub.