将 .net 核心应用程序部署到 visual studio 中的 linux?

Deploy .net core app to linux in visual studio?

我正在 Visual Studio 2017 年构建一个 .net 核心应用程序。我想将我的发布过程自动化到 linux 机器。

这是我目前的流程:

  1. 在 Visual Studio 中,单击发布选项卡,select 发布
  2. 打开WinSCP,登录目标linux机器
  3. 打开文件夹solution\myapp\bin\Release\netcoreapp2.2\publish\
  4. CTRL+A select 都在发布文件夹中,CTRL+ C复制所有文件,然后CTRL+V粘贴到WinSCP目标目录
  5. 打开PuTTY,登录目标linux机器,使用dotnet myapp.dll
  6. 重启应用

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

尝试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