Compilaciones con errores

Importante

Visual Studio App Center está programado para la retirada 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 de soporte técnico y las alternativas.

Hay varias razones por las que la compilación podría haber producido un error que podría ser única para el proyecto. Normalmente, una manera eficaz de diagnosticar errores de compilación es compararlos con una compilación en funcionamiento. Este proceso puede minimizar las variables e identificar las condiciones pertinentes para su escenario.

Si la compilación funciona localmente, pero no en App Center

Por lo general, este problema se debe a archivos no confirmados, diferentes herramientas o dependencias no confirmadas. Para comprobarlo, puede realizar un git clone completo del proyecto en una nueva carpeta. Después, compile con la misma configuración que App Center para la comparación.

  1. Abra el terminal o el símbolo de la línea de comandos y escriba lo siguiente: mkdir appcenter-test
  2. A continuación, cambie los directorios: cd appcenter-test
  3. Clone el repositorio con: git clone -b <branch> <remote_repo>
  4. Inicie el proyecto recién clonado en el IDE local o en la línea de comandos.
  5. Intente comparar el comando de compilación ejecutado en App Center con el comando ejecutado localmente.
  6. Compare las versiones de las herramientas que usa localmente con nuestras máquinas de compilación en la nube.

Los archivos con nombres de archivo o ubicaciones modificados se omiten

Las compilaciones pueden omitir un archivo de clave que se ha movido o cambiado de nombre recientemente. Intente seleccionar Guardar o Guardar & Compilar en la configuración de compilación. Cualquiera de las opciones vuelve a indexar el árbol del repositorio y actualiza la definición de compilación.

Las causas conocidas son mover o cambiar el nombre de los scripts de compilación & archivosnuget.config.

Comparación de diferentes compilaciones en App Center

Seguimiento de los cambios en la configuración de compilación

Para registrar la configuración de la rama, llame a este método de API: https://openapi.appcenter.ms/#/build/branchConfigurations_get

La API no permite directamente la grabación de configuraciones anteriores. Sin embargo, puede ejecutar este comando con un script de compilación personalizado para que las compilaciones registren automáticamente la configuración actual cuando se ejecuten.

Seguimiento de cambios en App Center Cloud Build Machines

Al igual que la configuración de compilación, puede comprobar las herramientas actuales revisando este documento: Cloud Build Machines.

Sin embargo, puede registrar cuáles de esas herramientas están disponibles para una compilación determinada mediante la ejecución de este comando en un script de compilación:

eval cat $HOME/systeminfo.md

Algunas ramas funcionan mientras que otras producen un error

Pruebe a comprobar las diferencias en la configuración de compilación o el código confirmado entre ramas. Además, si la compilación comienza a generar errores de forma coherente después de una determinada confirmación en la misma rama, vale la pena comprobar qué cambios se realizaron en la confirmación con error.

Las compilaciones producen un error intermitente

Se puede producir un error en una compilación sin ningún cambio en el código fuente ni en la configuración de compilación. Por ejemplo:

  • Diferentes versiones de los paquetes restaurados
  • Servicios externos que no responden
  • Tareas individuales en el tiempo de espera de compilación
  • Etcétera.

Intente comprobar si el error de la compilación es coherente cuando se producen los errores.

Aislamiento e interpretación de mensajes de error

Resaltado automático de errores

App Center Build intenta resaltar automáticamente los mensajes de error comunes o la salida útil para que sea más visible. A menudo se pueden encontrar pistas en el error principal, el registro antes o el registro después. Esta aplicación está firmada por la configuración del proyecto & configuración de compilación. Por lo tanto, el jarsigner de Android registra un error:

Captura de pantalla del error resaltado

jarsigner: unable to sign jar: java.util.zip.ZipException: invalid entry compressed size (expected 13274 but got 13651 bytes)
##[error]Error: /usr/bin/jarsigner failed with return code: 1
##[error]Return code: 1

Profundizar más

Si no encuentra mensajes de error relevantes, el siguiente paso es descargar los registros de compilación, lo que puede hacer desde la página de compilación principal. Abra la carpeta denominada logs_n > Build y verá una lista de archivos de registro independientes enumerados en orden numérico. Por ejemplo:

  • 1_Intialize job.txt
  • 2_Checkout.txt
  • 3_Tag build.txt
  • Etcétera.

Los registros se numeran en función de las fases principales de la compilación. La mayoría de los errores de compilación hacen que se omitan las fases y el registro asociado:

  • (Pasos 1-9)...
  • 10_Pre compilación Script.txt
  • 11_Build Xamarin.Android project.txt
  • 12_Sign APK.txt
  • 15_Post compilación Script.txt
  • Checkout.txt de trabajo de 20_Post
  • 21_Finalize Job.txt

La fase 13 se omitió primero, por lo que la fase 12 es un buen punto de partida. Las fases posteriores también se omitirán, pero es menos probable que sean relevantes.

Identificación de confirmaciones correlacionadas

En la interfaz de usuario de compilación, puede ver el mensaje de confirmación y el hash aplicables a la compilación actual. Puede usar esta característica para realizar un seguimiento y correlacionar los resultados de compilación con los cambios en el código fuente.

Para ver los mensajes de confirmación & hash, vaya a Appcenter.ms -> [Nombre-organización] -> [Nombre-aplicación] -> Compilación -> [Nombre-rama] -> [Número de compilación]

Dirección URL de prototipo: https://appcenter.ms/orgs/[ORG-NAME]/apps/[APP-NAME]/build/branchs/[BRANCH-NAME]/builds/[BUILD-NUMBER]

Captura de pantalla que muestra la confirmación & hash del origen

En la parte superior de la información de la compilación, verá el nombre y el hash abreviado de la confirmación. En la captura de pantalla:

  • Aumentar Xamarin.UITest de 3.0.5 a 3.0.6
  • Confirmación 328ff115

Al hacer clic en el hash abreviado, se abre el repositorio vinculado en la misma confirmación: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/commit/328ff115cb67280f7bdc70074ff605c8962470e4

Pasos siguientes

Estas son algunas opciones para investigar más su problema:

Contactar a soporte

https://appcenter.ms/apps Inicie sesión y haga clic en el icono de chat en la esquina inferior derecha de la pantalla. Para obtener mejores resultados, es una buena idea abrir el vale con:

  • Un resumen de sus observaciones
  • Detalles y citas de su investigación sobre el problema
  • Direcciones URL con errores en las compilaciones, incluida la información esencial, como el nombre de la aplicación & identificador de compilación
  • Direcciones URL para pasar compilaciones que se comparan con los errores (si procede)