簡體   English   中英

“dotnet publish”命令行會跳過部署到Azure Functions

[英]The 'dotnet publish' command line skips deployment to Azure Functions

我正在為我的站點設置一些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工具的引用,但如果可以通過其他工具完成,我不希望在構建代理上安裝包管理器。

最后,在答案和評論的幫助下(感謝所有),我有一個MSBuild命令行,用於部署我的.NET Core 2.1 Function項目:

msbuild /p:DeployOnBuild=True /p:PublishProfile=somename.pubxml /p:Configuration=Release

但是,值得注意的是:

一般.NET Core發布說明

  1. 如果您錯過拼寫發布配置文件名稱,它將默默跳過部署(無警告或錯誤)。

ASP.NET Core和.NET Core Functions部署之間的差異

  1. 如果您使用'dotnet publish',它將始終跳過部署。

  2. 如果未指定/ p:DeployOnBuild = True,則會跳過部署。

如果您不想在構建代理上擁有“包管理器”,則必須選擇對功能應用程序進行zip部署 有關詳細信息,請訪問MSDN:

https://docs.microsoft.com/en-us/azure/azure-functions/deployment-zip-push#rest

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM