在远程计算机上执行 python 代码

Execution of python code on remote machines

提问人:Bored002 提问时间:5/22/2022 更新时间:5/22/2022 访问量:437

问:

我正在使用 Python Pytest 库构建一个测试套件, 我面临的挑战是,我想在远程 Windows 机器上运行测试,而无需在这些远程机器上部署我的 Python 代码。

当前解决方案:

使用 Jenkins 我将测试存储库从位存储桶克隆到远程计算机,然后通过 WINRM 使用 PowerShell 命令触发远程计算机上 pytest 脚本的执行。

所需解决方案:pytest 代码/存储库将驻留在一台机器(本地/云)上,并将在远程 Windows 机器上执行(可能在多台机器上并行执行)

我已经研究了 paramiko/factory 包,但它们都要求代码存在于远程机器上。

有人遇到过类似的要求吗?实现了类似的东西?

python pytest 远程执行

评论

0赞 9769953 5/22/2022
“没有在这些远程机器上部署我的 Python 代码的开销。” 但是你想测试你的代码是否在这些机器上运行吗?
0赞 9769953 5/22/2022
据我所知,大多数持续集成解决方案都倾向于为每次测试从头开始设置一个新的(虚拟机)环境。这样您就不会有先前测试的“遗留物”,并保证您的安装程序系统正确安装了所有依赖项等。
0赞 Keith 5/22/2022
您将需要一种方法来控制和管理这些远程计算机。Pytest 是一个单元测试框架,不是为此而设计的。
0赞 Bored002 5/22/2022
@Keith我知道,机器将由 ci\cd 工具管理,即启动机器等,但我想在多台机器上执行我的 pytest 代码,我知道它是通过 ssh 连接在 Linux 中完成的。想知道我是否可以从 1 台机器上并行在多台机器上远程执行代码
0赞 9769953 5/22/2022
使用 ssh(与平台无关,尽管它在 Windows 上可能不是您的选项)也意味着代码必须安装在每台单独的计算机上。Ssh 只允许您远程启动进程;它不会“传输”实际代码。*nix 操作系统确实存在类似于 NFS 的东西,它允许跨机器访问文件。我认为 Windows 有 Samba?但这可能是一条红鲱鱼,因为我不明白你的确切要求。

答:

0赞 hermes 5/22/2022 #1

您可以尝试使用 AWS SSM 的 pub-sub 机制