El paquete dotnet lambda (y por extensión, esto podría aplicarse a cualquier otro comando dotnet-lambda que ejecute dotnet publish
bajo el capó) podría beneficiarse de una opción --no-restore
que se pasaría a la dotnet publish
comando.
Desde 2.0, los comandos build
y publish
ejecutan un restore
implícitamente, por lo que el equipo de dotnet agregó un indicador - no-restore
para escenarios en los que no desea un restauración implícita. Esta es una funcionalidad realmente importante para escenarios de CI en los que estamos restaurando desde un repositorio interno de Nuget y necesitamos tener control de las fuentes de los paquetes en el momento de la compilación. Una compilación de CI típica en este escenario se vería así:
dotnet restore -s https://private-nuget-repository.myorg.com
dotnet lambda package --no-restore
Con la versión 2.1.0 de Amazon.Lambda.Tools
puede usar el --msbuild-parameters
para pasar argumentos al comando dotnet publish
. Para que puedas correr
dotnet lambda package --msbuild-parameters "--no-restore"
@normj gracias por la información! ¿Fue esto realmente documentado en alguna parte? Porque intenté buscar diferentes opciones que estaban disponibles, pero no encontré nada en la ayuda de la CLI o en los archivos léame de este repositorio, por lo que me encantaría saber si me perdí algo por completo o si esta es una oportunidad para mejorar la documentación.
Esto se hizo recientemente por otro problema de GitHub. https://github.com/aws/aws-lambda-dotnet/issues/210
Si lo hace dotnet lambda help package
puede ver el interruptor
> dotnet lambda help package
AWS Lambda Tools for .NET Core functions (2.1.1)
Project Home: https://github.com/aws/aws-lambda-dotnet
package:
Command to package a Lambda project into a zip file ready for deployment
dotnet lambda package [arguments] [options]
Arguments:
<ZIP-FILE> The name of the zip file to package the project into
Options:
-pl | --project-location The location of the project, if not set the current directory will be assumed
-c | --configuration Configuration to build with, for example Release or Debug (Default Value: Release)
-f | --framework Target framework to compile, for example netcoreapp2.0 (Default Value: netcoreapp2.0)
--msbuild-parameters Additional msbuild parameters passed to the 'dotnet publish' command
-o | --output-package The output zip file name
-dvc | --disable-version-check Disable the .NET Core version check. Only for advanced usage.
C:\temp\NoPublish\src\NoPublish
>
Es cierto que se agregó para pasar los parámetros de msbuild, pero el modificador --no-restore
funciona. Tal vez debería haberlo llamado de otra manera.
Otra cosa a seguir es RELEASE.CHANGELOG.md que puede ver en el lanzamiento de la semana pasada cuando se introdujo el interruptor.
@normj ah eres un salvavidas.
La documentación debe actualizarse para especificar cómo se debe construir el argumento del parámetro de compilación. No puse comillas alrededor del mío y no sabía por qué estaba fallando. No hay ningún documento en el sitio web de AWS y no estaba seguro de la ayuda de la herramienta. La solución se encontró aquí.
Es bueno recordarle a la gente que cotice el valor.
Comentario más útil
Con la versión 2.1.0 de
Amazon.Lambda.Tools
puede usar el--msbuild-parameters
para pasar argumentos al comandodotnet publish
. Para que puedas correr