windows - 作为构建过程的一部分,如何在 Windows 机器上远程执行命令?

标签 windows testing build-automation

作为构建过程的一部分,如何在 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/

相关文章:

java - 哪个是最好的 java gui 测试工具?

windows - log4j 写入 Windows 共享

c# - 使用 CreateProcessAsUser 启动 url

Windows Management Instrumentation 命令行 WMIC 批量提取属性

gruntjs - 如何根据相应文件的父文件夹名称使用 Grunt 重命名文件?

build - Make有现代替代品吗?

powershell - 在NAnt构建系统中使用PowerShell Cmdlet的好方法是什么?

windows - 批处理文件中延迟扩展的示例

unit-testing - 带和不带 ParameterFilter 的模拟 Get-ADUser

ruby - 停止运行 cucumber 测试功能