Komenda CLI do wrzucenia aplikacji w .NET Core na Azure'a

0

Próbowałem użyć takiej komendy:

dotnet build MojProject.csproj /p:PublishProfile=Properties/Profiles/profile.pubxml

oraz

dotnet build MojProject.csproj -c Release -p:PublishProfile=Properties/Profiles/profile.pubxml -p:DeployOnBuild=true

Ale to tylko buduje projekt do folderu publish/ w bin/.

Mam trzy publish profile które działają z Visual Studio (zip, ftp i web deploy). Wiem że istnieją skrypty do deployowania apki z CLI, bo np Github Actions robi coś takiego. Jest jakiś prosty sposób, żeby z CLI zdeployować apke na Azure'a?

1

A to nie powinno być dotnet publish zamiast dotnet build?

Dokumentacja twierdzi, że niby tak się robi, z /p:PublishProfile po prostu: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/visual-studio-publish-profiles?view=aspnetcore-7.0#publish-profiles

0
Ktos napisał(a):

A to nie powinno być dotnet publish zamiast dotnet build?

Dokumentacja twierdzi, że niby tak się robi, z /p:PublishProfile po prostu: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/visual-studio-publish-profiles?view=aspnetcore-7.0#publish-profiles

Ale mówisz tak bo korzystasz z tego czy po prostu wygooglałeś? Bo ja googlałem jakieś 8h, przeczytałem tą dokumentację z 5 razy i ani dotnet publish ani dotnet build mi nie wrzucił aplikacji na Azure'a.

2

Utworzyłem testowo nową aplikację. Wygenerowałem publish profile dla Azure App Service (Windows), wybrałem usługę, utworzył się plik .pubxml.

dotnet publish /p:PublishProfile="Properties\PublishProfiles\pam9 - Web Deploy.pubxml" /p:Password=<ciach!>

MSBuild version 17.8.0-preview-23367-03+0ff2a83e9 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
C:\Program Files\dotnet\sdk\8.0.100-preview.7.23376.3\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInf
erence.targets(314,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-
policy [C:\Users\ktos\source\repos\WebApplication1\WebApplication1\WebApplication1.csproj]
  WebApplication1 -> C:\Users\ktos\source\repos\WebApplication1\WebApplication1\bin\Debug\net6.0\WebApplication1.dll
  WebApplication1 -> C:\Users\ktos\source\repos\WebApplication1\WebApplication1\bin\Debug\net6.0\publish\
  Info: Using ID '25ff6dd2-7f04-4913-9a0b-5ea704849e05' for connections to the remote server.
  Info: Using ID 'd0ca215a-7e95-425a-98f3-ec787ee394a5' for connections to the remote server.
  Info: Updating file (pam9\web.config).
  Info: Updating file (pam9\WebApplication1.deps.json).
  Info: Updating file (pam9\WebApplication1.dll).
  Info: Updating file (pam9\WebApplication1.exe).
  Info: Updating file (pam9\WebApplication1.pdb).
  Total changes: 5 (0 added, 0 deleted, 5 updated, 0 parameters changed, 224961 bytes copied)
  Publish Succeeded.

Aplikacja jest wrzucona i działa.

0
Ktos napisał(a):

Utworzyłem testowo nową aplikację. Wygenerowałem publish profile dla Azure App Service (Windows), wybrałem usługę, utworzył się plik .pubxml.

dotnet publish /p:PublishProfile="Properties\PublishProfiles\pam9 - Web Deploy.pubxml" /p:Password=<ciach!>

MSBuild version 17.8.0-preview-23367-03+0ff2a83e9 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
C:\Program Files\dotnet\sdk\8.0.100-preview.7.23376.3\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInf
erence.targets(314,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-
policy [C:\Users\ktos\source\repos\WebApplication1\WebApplication1\WebApplication1.csproj]
  WebApplication1 -> C:\Users\ktos\source\repos\WebApplication1\WebApplication1\bin\Debug\net6.0\WebApplication1.dll
  WebApplication1 -> C:\Users\ktos\source\repos\WebApplication1\WebApplication1\bin\Debug\net6.0\publish\
  Info: Using ID '25ff6dd2-7f04-4913-9a0b-5ea704849e05' for connections to the remote server.
  Info: Using ID 'd0ca215a-7e95-425a-98f3-ec787ee394a5' for connections to the remote server.
  Info: Updating file (pam9\web.config).
  Info: Updating file (pam9\WebApplication1.deps.json).
  Info: Updating file (pam9\WebApplication1.dll).
  Info: Updating file (pam9\WebApplication1.exe).
  Info: Updating file (pam9\WebApplication1.pdb).
  Total changes: 5 (0 added, 0 deleted, 5 updated, 0 parameters changed, 224961 bytes copied)
  Publish Succeeded.

Aplikacja jest wrzucona i działa.

"Wygenerowałem publish profile dla Azure App Service (Windows)," jak to zrobiłeś dokładnie? Gdzieś w Azure?

I /p:Password to ma być moje hasło do Azure'a? Czy jakieś otp?

1

Wygenerowałem publish profile przez Visual Studio, przez prawy przycisk myszy i "Publish...".

Hasło jest wzięte z Azure Portal, tam jest taki przycisk "Download publish profile" dla konkretnego App Service i ci pobiera plik xml, w którym m.in. jest hasło do deploymentu (to jest XML, można sobie przejrzeć) – jak to robisz przez VS to też to hasło jest, ale w pliku .pubxml.user w postaci zaszyfrowanej, a dotnet publish bez tego /p:Password rzucał błędem 401. A nie chciało mi się szukać, czy to z pubxml.user da się jakoś odszyfrować/wykorzystać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1