Scripts de build

Importante

O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar a migração.

Saiba mais sobre linhas do tempo e alternativas de suporte.

Observação

Os scripts de build permitem personalizar seus builds; mas os problemas encontrados durante esse processo estão além do escopo do suporte do App Center. Se um dos scripts estiver falhando, todo o build relatará uma falha, mesmo que o build primário até esse ponto tenha sido bem-sucedido.

Você pode adicionar scripts de build personalizados executados em estágios predefinidos durante o tempo de build: pós-clone, pré-build, pós-build. Coloque os scripts com o formato especificado abaixo ao lado do arquivo de nível de projeto (, , ou package.json) ou de nível de módulo (build.gradle) que você selecionou na configuração de build e os executaremos como etapas de build personalizadas.sln. .csproj.xcodeproj

No App Center, os aplicativos não UWP são criados no macOS, para que possam usar scripts Bash. Os aplicativos UWP são criados no Windows, para que possam usar scripts do PowerShell. Muitas tarefas semelhantes podem ser feitas em qualquer formato de script, mas talvez seja necessário fazer alguma conversão se estiver migrando entre elas. Por exemplo, o macOS Bash requer o uso de terminações de linha no estilo UNIX (LF).

Você pode encontrar uma coleção de exemplos de script de build no repositório GitHub público dedicado. Fique à vontade para usar os scripts de exemplo, modificá-los ou enviar novas solicitações de pull com seus scripts mais úteis para o restante da comunidade usar.

Aviso

Quando o App Center detecta scripts de build pela primeira vez, ou você altera o local dos scripts ou altera o local em que Os CocoaPods são armazenados; você deve aplicar as alterações clicando no botão Salvar ou Salvar & Compilar na configuração de build. Quando você faz isso, o App Center executa uma análise para indexar a árvore do repositório e atualiza a definição de build.

Salvar scripts detectados

Pós-clone

O script pós-clone é executado imediatamente depois que o repositório foi clonado, mas antes de fazermos qualquer outra coisa ao nosso lado.

Para executar scripts após o clone, adicione o seguinte arquivo ao lado do arquivo de projeto em seu repositório:

  • appcenter-post-clone.sh (Bash para iOS & Android)

    #!/usr/bin/env bash
    
    # Example: Clone a required repository
    git clone https://github.com/example/SomeProject
    
    # Example: Install App Center CLI
    npm install -g appcenter-cli
    
  • appcenter-post-clone.ps1 (PowerShell para UWP)

Pré-compilação

O script de pré-compilação é executado antes do início real do build. Para aplicativos React Native, o script é executado antes de gerar mapas de origem. Para outras plataformas, ele é executado depois de instalarmos dependências, por exemplo, do NuGet, CocoaPods ou Carthage.

Para executar scripts pré-build, adicione o seguinte arquivo ao lado do arquivo de projeto em seu repositório:

  • appcenter-pre-build.sh (Bash para iOS & Android)

    #!/usr/bin/env bash
    
    # Example: Change bundle name of an iOS app for non-production
    if [ "$APPCENTER_BRANCH" != "main" ];
    then
        plutil -replace CFBundleDisplayName -string "\$(PRODUCT_NAME) Beta" $APPCENTER_SOURCE_DIRECTORY/MyApp/Info.plist
    fi
    
  • appcenter-pre-build.ps1 (PowerShell para UWP)

Pós-build

O script pós-build é executado após a conclusão do build e copia todos os artefatos necessários para o diretório de saída. O script pós-build será executado mesmo se o build falhar.

Para executar scripts após o build, adicione o seguinte arquivo ao lado do arquivo de projeto no repositório:

  • appcenter-post-build.sh (Bash para iOS & Android)

    if [ "$AGENT_JOBSTATUS" == "Succeeded" ]; then
        HOCKEYAPP_API_TOKEN={API_Token}
        HOCKEYAPP_APP_ID={APP_ID}
    
        # Example: Upload main branch app binary to HockeyApp using the API
        if [ "$APPCENTER_BRANCH" == "main" ];
         then
            curl \
            -F "status=2" \
            -F "ipa=@$APPCENTER_OUTPUT_DIRECTORY/MyApps.ipa" \
            -H "X-HockeyAppToken: $HOCKEYAPP_API_TOKEN" \
            https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_APP_ID/app_versions/upload
        else
            echo "Current branch is $APPCENTER_BRANCH"
        fi
    fi
    
  • appcenter-post-build.ps1 (PowerShell para UWP)

Variáveis de ambiente

Você pode usar variáveis de ambiente predefinidas, personalizadas ou em script para ajudar a escrever seus scripts de Build, consulte nosso guia Variáveis de Ambiente para obter mais informações.