![](/img/trans.png)
[英]Azure DevOps Build Pipeline: 'publish' command is executing 'dotnet build' instead of 'dotnet publish'
[英]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路徑有效,這可能是某個地方工具中的回歸或錯誤,而不是不支持的東西?
我正在使用:
如果我不應該使用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發布說明
ASP.NET Core和.NET Core Functions部署之間的差異
如果您使用'dotnet publish',它將始終跳過部署。
如果未指定/ p:DeployOnBuild = True,則會跳過部署。
如果您不想在構建代理上擁有“包管理器”,則必須選擇對功能應用程序進行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-clalilate
或功能核心工具: https : //docs.microsoft.com/en-us/azure/azure-functions/functions-run-local#publish
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.