Actualicé mi aplicación Asp.net core Blazor WebAssembly a .net 6. Todo está bien, pero la implementación desde las acciones de github no funciona y arroja este error:
... Copying file: 'Microsoft.AspNetCore.ApiAuthorization.IdentityServer.dll' Copying file: 'Microsoft.AspNetCore.Authentication.JwtBearer.dll' Omitting next output lines... Error: EISDIR: illegal operation on a directory, open '/home/site/wwwroot/wwwroot/Identity/lib/bootstrap/LICENSE' An error has occurred during web site deployment. Kudu Sync failed \n/opt/Kudu/Scripts/starter.sh "/home/site/deployments/tools/deploy.sh" Error: Failed to deploy web package to App Service. Error: Deployment Failed with Error: Package deployment using ZIP Deploy failed. Refer logs for more details.¿Qué podría ser un problema aquí?
EDITAR/SOLUCIÓN :
Anteriormente, la ruta al archivo de licencia era: /home/site/wwwroot/wwwroot/Identity/lib/bootstrap/LICENSE/LICENSE El nuevo archivo no tenía el directorio LICENSE . Entonces, cuando llegó la nueva versión de la aplicación, intentó actualizar el archivo LICENCIA, que en realidad era un directorio. Eliminar LICENSE/LICENSE ayudó.
Terminé eliminando el contenido de /home/site/wwwroot/ para resolver esto también. También necesitaba actualizar la configuración a .NET 6 en la configuración del sitio y volver a implementar antes de que mi sitio comenzara a funcionar.
En Linux, es importante que todos los scripts de implementación de bash que se ejecuten tengan finales de línea de Unix (LF) y no finales de línea de Windows (CRLF).
Kuduscript generará secuencias de comandos con terminaciones de línea apropiadas para la plataforma, pero si esas secuencias de comandos se modifican o si proporciona sus propias secuencias de comandos de implementación personalizadas , es importante asegurarse de que su editor no cambie las terminaciones de línea.
Si algo parece estar mal con su secuencia de comandos de implementación, siempre puede usar la consola de Kudu para eliminar el contenido de /home/site/deployments/tools.
Este es el directorio donde Kudu almacena en caché los scripts de implementación generados por kuduscript. En la próxima implementación, el script se volverá a generar.
El error que está viendo actualmente es un problema de Kudu con la ejecución de node/npm para implementaciones.
La resolución más fácil y rápida para lo que está viendo actualmente es especificar Engines.node en su paquete.json.
Error: EISDIR: operación ilegal en un directorio, abra '/home/site/wwwroot/wwwroot/Identity/lib/bootstrap/LICENSE'
EISDIR significa " Error, es directorio ". Esto significa que NPM está tratando de hacer algo con un archivo, pero es un directorio . En su caso, NPM está tratando de " leer " un archivo que es un directorio. Como no se puede realizar la operación, se arroja el error.
Tres cosas para asegurarse aquí
Nota : está otorgando permisos de Lectura, Escritura y Ejecución a todos en ese archivo.