В настоящее время у меня есть приложение .NET, которое я могу публиковать локально на компьютере Mac и по FTP в IIS, размещенном на виртуальной машине Azure.
Есть ли автоматизированный способ публикации?
Я нашел инструкции для WebDeploy, однако похоже, что WebDeploy не будет работать при публикации с Mac.
Редактировать:
Поэтому я хотел бы:
@LexLi, исходный вопрос отредактирован. Похоже, что есть хорошая автоматизация, позволяющая выполнить это на компьютере с Windows, но не на Mac. Думаю, я смогу написать сценарий оболочки. Но в целом FTP из сценария оболочки не рекомендуется. Я считаю, что IIS не поддерживает SFTP или SSH. Тем не менее, я надеялся, что будет такой же способ развертывания с моего компьютера Mac для разработки в IIS, аналогичный тому, который доступен в Windows.
@LexLi, просто чтобы уточнить. Если исходный компьютер работает под управлением MacOS, а целевой компьютер — Windows, с установленным в Windows веб-развертыванием, это не будет работать? MacOS → Windows (WebDeploy)
Для WebDeploy требуется как клиентская, так и серверная часть, поэтому забудьте об этом, поскольку на Mac не будут работать клиентские части. «Но в целом FTP не рекомендуется использовать из сценария оболочки» неверно, поскольку FTP через SSL (FTPS) по-прежнему является возможным вариантом. «Я считаю, что IIS не поддерживает SFTP или SSH» также неверно, поскольку в последних выпусках Windows есть встроенный OpenSSH, Learn.microsoft.com/en-us/windows-server/administration/openssh/…
Спасибо @LexLi. Я подумал, что есть клиентский аспект WebDeploy, который не будет работать. Спасибо за подтверждение





В отличие от функций, доступных в Visual Studio для Windows, похоже, не существует удобного способа публикации приложения ASP.NET непосредственно из IDE.
Для MacOS поддержка Visual Studio прекращается в этом году.
Я обнаружил, что для Visual Studio на MacOS не существует подключаемых модулей, которые бы публиковали приложение в IIS, работающее на виртуальной машине Windows. Похоже, это ограничение, поскольку такие плагины в Windows будут использовать WebDeploy для развертывания приложения. WebDeploy недоступен в MacOS.
Итак, прямо сейчас шаги по публикации приложения из MacOS следующие:
dotnet publishpublish по FTP на виртуальную машину Windows в папке IIS wwwroot.
«Я могу публиковать локально и через FTP в IIS», но вы не можете это автоматизировать? Некоторые сценарии оболочки могут выполнять то же самое. Вам придется отредактировать вопрос, чтобы показать, что именно вы хотели. WebDeploy не работает на Mac, и вы все правильно поняли.