作为构建过程的一部分,如何在 Windows 机器上远程执行命令?
如果重要的话,我想从执行实际构建的 linux 机器上启动命令。
给一些背景...
作为构建过程的一部分,我目前正在开发的一个 Web 应用程序有一个系统,用于自动恢复 Linux VM、ssh 连接到它、安装软件,然后通过 Web 界面运行一组测试.我想为 Windows 做同样的事情,但我不确定在 Windows 机器上等效于 ssh-ing 的是什么。
安装 Cygwin 以获得 sshd 不是一个选项(冒着系统获取某种 cygwin 依赖性的风险,此过程旨在防止)并且显然像远程桌面之类的东西适合交互式使用,但不会帮助我编写脚本过程(据我所知)。
最佳答案
无论如何我都会提到它(即使你说 cygwin 已经出局)你可以使用的一件事是 Fresshd .据我所知,它重量轻,工作得很好。除了需要安装以便它可以作为服务运行之外,它似乎没有其他依赖项。
另一个选项是 Powershell and WinRM它允许您使用 native .NET 进行 Windows 管理。不幸的是,我不知道你如何在不使用 VM 环境启动它的情况下真正让它在 linux 上运行。 Neverless 它允许您编写流程脚本并将这些流程推送到远程机器以执行。
我在不同商店看到的最后两个选项是 A) 将安装脚本推送到远程机器,然后交互式登录并启动它或 B) 推送安装脚本但确保机器打开启动(或首次登录)将始终运行“setup.bat”,它会检查应用程序的新版本并进行安装。当然,两者都有缺点。
还有其他一些方法,但我不确定您如何让它们为您工作。无人值守的 MSI 安装(或静默安装),但我对此没有任何经验。前几个谷歌点击似乎是为您构建 MSI 文件的产品。
希望对您有所帮助。
关于windows - 作为构建过程的一部分,如何在 Windows 机器上远程执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1938579/