Herramientas de AWS Beanstalk para .NET Core: Ignora el parámetro autónomo en el archivo de configuración.
Estoy intentando utilizar las herramientas de Amazon Elastic Beanstalk para aplicaciones .NET Core (4.2.2) para publicar una aplicación net6.0 en AWS EB (Windows). En el momento de escribir esto, necesito incluir el tiempo de ejecución net6.0 ya que net6.0 aún no es compatible con EB.
Puedo publicar con éxito mi aplicación en AWS utilizando el AWS Toolkit para Visual Studio.
El toolkit llama a dotnet publish con los siguientes parámetros:
Ejecutando: dotnet publish “[ruta de mi proyecto]” –output “[ruta de mi proyecto]\bin\Release\net6.0\publish” –configuration “Release” –framework “net6.0” –runtime win-x64 –self-contained true
El toolkit crea este archivo de configuración (aws-beanstalk-tools-defaults.json) después de una publicación exitosa:
{
“additional-options” : “”,
“application” : “miApp”,
“app-path” : “/”,
“configuration” : “Release”,
“enable-xray” : false,
“enhanced-health-type” : “enhanced”,
“environment” : “miApp-test”,
“framework” : “net6.0”,
“iis-website” : “Default Web Site”,
“region” : “eu-west-1”,
“self-contained” : true,
“runtime” : “win-x64”
}
Sin embargo, cuando intento utilizar la utilidad de línea de comandos con el comando:
dotnet eb deploy-environment -cfg myConfFile.json
los parámetros self-contained y runtime no se pasan a la llamada dotnet deploy, lo que resulta en esta llamada:
dotnet publish “[ruta de mi proyecto]” –output “[ruta de mi proyecto]\bin\Release\net6.0\publish” –configuration “Release” –framework “net6.0”
He intentado pasar los parámetros sin utilizar el archivo de configuración como
dotnet eb deploy-environment –profile XXX -c Release -env miApp-test -po –runtime “win-x64”
solo para obtener esta excepción:
System.InvalidOperationException: Argumento requerido no especificado para la opción: –runtime
¿Hay alguna manera de utilizar esta utilidad para publicar una aplicación net6.0 usando self-contained bundle en una instancia de EB basada en Windows?
davy.ai
Según la información proporcionada, parece que el comando
dotnet eb deploy-environment
no está pasando los parámetrosself-contained
yruntime
a la llamada dedotnet publish
.Una posible solución podría ser modificar el archivo
aws-beanstalk-tools-defaults.json
para incluir los parámetrosself-contained
yruntime
como opciones adicionales:}
Luego, ejecuta nuevamente el comando
dotnet eb deploy-environment -cfg myConfFile.json
para ver si pasa correctamente los parámetrosself-contained
yruntime
.Alternativamente, puedes intentar pasar los parámetros directamente en la línea de comandos, pero asegúrate de incluir la opción
--
para separar las opciones dedotnet eb
de las opciones dedotnet publish
:De esta manera, se pasarán correctamente los parámetros
self-contained
yruntime
a la llamada dedotnet publish
.