我正在为我的网站设置一些DevOps,到目前为止,我已经使用以下命令在两个ASP.NET Core应用程序上进行部署,并取得了成功:
dotnet publish ProjectName.csproj /p:PublishProfile="PublishProfileName" /p:Password=password
我刚刚使用V2运行时和.NET Core 2.1创建了一个Azure函数,如所有新项目的建议(请参阅此处https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/),但如果我使用相同的命令,我发现它只将它发布到本地文件夹并且似乎没有将项目部署到Azure .
如果我使用MSBuild等价物,它似乎也错过了部署阶段 .
我猜它是以某种方式处理项目类型没有适当的构建目标,但我不确定如何进一步跟踪它 .
我可以从Azure下载发布设置,将它们导入Visual Studio并通过VS发布,所以看起来如果VS路径工作,这可能是某个地方工具的回归或错误,而不是不支持的东西?
我正在使用:
-
Visual Studio 15.8.8 28010.2048
-
Azure功能和Web作业工具15.9.02046.0
如果我不应该使用Azure功能的dotnet发布,我应该使用什么代替命令行CD?我见过对Azure Function CLI工具的引用,但如果可以通过其他工具完成,我不希望在构建代理上安装包管理器 .
3 回答
如果您不希望在构建代理上拥有"a package manager",则必须选择对功能应用程序进行zip部署 . 有关详细信息,请访问MSDN:
https://docs.microsoft.com/en-us/azure/azure-functions/deployment-zip-push#rest
请尝试使用Azure CLI:https://docs.microsoft.com/en-us/cli/azure/functionapp/deployment?view=azure-cli-latest
或功能核心工具:https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local#publish
最后,在答案和评论的帮助下(感谢所有),我有一个MSBuild命令行,用于部署我的.NET Core 2.1 Function项目:
但是,值得注意的是:
一般.NET Core发布说明
ASP.NET Core和.NET Core Functions部署之间的差异
如果您使用'dotnet publish',它将始终跳过部署 .
如果未指定/ p:DeployOnBuild = True,则会跳过部署 .