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