我正在 Visual Studio 2017 中构建一个 .net core 应用程序。我想将发布过程自动化到 Linux 计算机。这是我当前的流程:在 Visual Studio 中,单击“发布”选项卡,选择“发布”打开WinSCP,登录目标linux机器打开文件夹solution\myapp\bin\Release\netcoreapp2.2\publish\CTRL+A选择发布文件夹中的所有内容,CTRL+C复制所有文件,然后CTRL+V粘贴到WinSCP目标目录打开PuTTY,登录目标linux机器,使用以下命令重新启动应用程序dotnet myapp.dll从 Visual Studio 发布时可以自动执行这些步骤吗?
1 回答
收到一只叮咚
TA贡献1821条经验 获得超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 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消