在 Visual Studio 中将 .NET Core 应用部署到 Linux?

8

我正在使用Visual Studio 2017构建一个.net core应用程序。我希望能够自动化将其发布到Linux机器上。

这是我的当前流程:

  1. 在Visual Studio中,点击“发布”选项卡,选择“发布”
  2. 打开WinSCP,登录目标Linux机器
  3. 打开文件夹solution\myapp\bin\Release\netcoreapp2.2\publish\
  4. CTRL+A选择发布文件夹中的所有内容,CTRL+C复制所有文件,然后CTRL+V粘贴到WinSCP目标目录中
  5. 打开PuTTY,登录目标Linux机器,使用dotnet myapp.dll重新启动应用程序

我可以在从Visual Studio发布时自动执行这些步骤吗?

1个回答

4
尝试使用dotnet-publish-ssh
它的功能类似于dotnet publish,但允许你通过SSH将应用程序复制到目标Linux机器上。
这是我的配置:
dotnet publish-ssh --ssh-host <host> --ssh-user <user> --ssh-password <pass> --ssh-path /var/<myapp> --configuration Release --framework netcoreapp3.1 --runtime linux-x64 --self-contained false /p:PublishSingleFile=true

要重新启动应用程序,您可以尝试使用Posh-SSH模块的PowerShell:
Import-Module Posh-SSH
$serverAddress = "host addr"
$user = "user"
$pass = ConvertTo-SecureString "pass" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential ($user, $pass)
$launchFolder = "/var/<myapp>"
$sshSession = New-SSHSession -ComputerName $serverAddress -Credential $creds -ErrorAction Stop
Invoke-SSHCommand -SSHSession $sshSession -Command "<your restart command>"
Remove-SSHSession -SSHSession $sshSession

1
我甚至不确定如何在VS 2019中安装和使用这个插件。我找不到任何文档。 - Nathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接