Scripts de compilación

Importante

Visual Studio App Center está programado para retirarse el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo y las alternativas de soporte técnico.

Nota

Los scripts de compilación permiten personalizar las compilaciones; pero los problemas que se encuentran durante ese proceso están fuera del ámbito de soporte técnico de App Center. Si se produce un error en uno de los scripts, toda la compilación notificará un error, incluso si la compilación principal hasta ese momento se realizó correctamente.

Puede agregar scripts de compilación personalizados que se ejecutan en fases predefinidas durante el tiempo de compilación: posterior a la clonación, compilación previa y posterior a la compilación. Coloque los scripts con el formato especificado a continuación junto al archivo de nivel de proyecto (.xcodeproj, .csproj, .slno package.json) o de nivel de módulo (build.gradle) que ha seleccionado en la configuración de compilación y los ejecutaremos como pasos de compilación personalizados.

En App Center, las aplicaciones que no son para UWP se basan en macOS, por lo que pueden usar scripts de Bash. Las aplicaciones para UWP se basan en Windows, por lo que pueden usar scripts de PowerShell. Muchas tareas similares se pueden realizar en cualquier formato de script, pero es posible que tenga que realizar alguna conversión si se realiza la migración entre ellas. Por ejemplo, macOS Bash requiere el uso de finales de línea de estilo UNIX (LF).

Puede encontrar una colección de ejemplos de script de compilación en el repositorio de GitHub público dedicado. No dude en usar los scripts de ejemplo, modificarlos o enviar nuevas solicitudes de incorporación de cambios con los scripts más útiles para que lo usen el resto de la comunidad.

Advertencia

Cuando App Center detecta los scripts de compilación por primera vez, o cambia la ubicación de los scripts, o cambia dónde se almacenan cocoaPods; Para aplicar los cambios, haga clic en el botón Guardar o Guardar & Compilar en la configuración de compilación. Al hacerlo, App Center ejecuta un análisis para indexar el árbol del repositorio y actualiza la definición de compilación.

Guardar scripts detectados

Post-clone

El script posterior a la clonación se ejecuta inmediatamente después de clonar el repositorio, pero antes de hacer nada más al final.

Para ejecutar scripts posteriores a la clonación, agregue el siguiente archivo junto al archivo de proyecto en el repositorio:

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

Compilación previa

El script anterior a la compilación se ejecuta antes de que se inicie la compilación real. Para React Native aplicaciones, el script se ejecuta antes de generar mapas de origen. Para otras plataformas, se ejecuta después de instalar las dependencias, por ejemplo, desde NuGet, CocoaPods o Carthage.

Para ejecutar scripts previamente a la compilación, agregue el siguiente archivo junto al archivo de proyecto en el repositorio:

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

Posterior a la compilación

El script posterior a la compilación se ejecuta una vez finalizada la compilación y copia todos los artefactos necesarios en el directorio de salida. El script posterior a la compilación se ejecutará incluso si se produce un error en la compilación.

Para ejecutar scripts después de la compilación, agregue el siguiente archivo junto al archivo de proyecto en el repositorio:

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

Variables de entorno

Puede usar variables de entorno predefinidas, personalizadas o en script para ayudar a escribir los scripts de compilación, consulte nuestra guía de variables de entorno para obtener más información.