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
Há duas variantes para executar o servidor de build local (também conhecido como ‘Extender’):
Antes de executar um cloud builder local, você precisa instalar o seguinte software:
Depois de instalar o software mencionado acima, siga estas etapas para instalar e executar os cloud builders do Defold:
Observação para usuários Windows: use o terminal git bash para executar os comandos abaixo.
Autorize no Google Cloud e crie credenciais Application Default - Você precisa ter uma conta Google ao baixar as imagens de container Docker para que possamos monitorar e garantir uso justo do registro público de containers e suspender temporariamente contas que baixem imagens excessivamente.
gcloud auth login
Configure o Docker para usar Artifact Registry - O Docker precisa ser configurado para usar gcloud como helper de credenciais ao baixar imagens de container do registro público de containers em 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) e a ferramenta de merge de manifesto (manifestmergetool.jar):
TMP_DIR=$(pwd)/server/_tmp
APPLICATION_DIR=$(pwd)/server/app
# defina a versão necessária do Extender e da ferramenta Manifest merge
# as versões podem ser encontradas na página de releases do GitHub https://github.com/defold/extender/releases
# ou você pode baixar a versão mais recente (veja o exemplo de código abaixo)
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
em que profile pode ser:
docker compose, veja https://docs.docker.com/reference/cli/docker/compose/.Quando o docker compose estiver ativo, você pode usar http://localhost:9000 como endereço do Build server nas preferências do editor ou como valor de --build-server se usar Bob para compilar o projeto.
Vários profiles podem ser passados na linha de comando. Por exemplo:
docker compose -p extender -f server/docker/docker-compose.yml --profile android --profile web --profile windows up
O exemplo acima executa as instâncias frontend, Android, Web e Windows.
Para interromper os serviços, pressione Ctrl+C se o docker compose estiver rodando em modo não detached, ou
docker compose -p extender down
se o docker compose foi executado em modo detached (por exemplo, se a flag ‘-d’ foi passada ao comando docker compose up).
Se quiser baixar as versões mais recentes dos JARs, você pode usar o seguinte comando para determinar a versão mais recente:
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)")
Os builds macOS e iOS são feitos em hardware Apple real usando um servidor de build executado em modo stand-alone, sem Docker. Em vez disso, Xcode, Java e outras ferramentas necessárias são instaladas diretamente na máquina, e o servidor de build roda como um processo Java normal. Você pode aprender como configurar isso na documentação do servidor de build no GitHub.
Siga as instruções no repositório Extender no GitHub para compilar e executar manualmente um servidor de build local.