将源文件从本地机器传输到 Jenkins slave

Transfer source files from local machine to Jenkins slave

对于这个愚蠢的问题,我深表歉意,我对 Jenkins 完全陌生,正在尝试拼凑一个 POC。我基本上是通过 Newman 获得一个邮递员集合,运行 希望在 Jenkins 上执行。 Jenkins 设置已经存在,我可以创建一个配置并让它安装 Newman,但我确定我的权限会受到限制。

不幸的是,我想使用的 Postman 集合不在源代码管理中,我们没有足够的访问权限将其放在应有的位置,因此我想复制这个集合,它只是一堆 JSON 文件到奴隶,然后纽曼可以将这些文件和 运行 作为目标。

谁能指导我如何做到这一点?我已经查看了很多关于插件的现有问题,但恐怕我无法安装新插件,我什至不确定我们的 Jenkins 设置中存在什么。不需要这个的任何解决方案都是理想的。我勾选了 'Send files or execute commands over SSH before the build starts' 复选框,但似乎这仅适用于工作区,我需要先以某种方式获取文件

如果是 linux slave,在完成配置后(在 Manage Jenkins->Manage nodes >new mode 中)有一个名为 remote root directory 的选项,并通过选择启动方法作为您需要提供凭据的地方

一旦你连接到从属机器,你的工作工作区将自动在远程根目录上的从属机器上创建,并且内部代码将通过 ssh 隧道复制(内部 jenkins 通过 [=14 对从属执行 scp =] 网络套接字 API).

我在 运行 执行每个任务时使用 将文件从 Jenkins 主机上的本地目录复制到从机的工作区目录中。我们维护 Git 中的文件,并通过另一项工作将它们提取到 Jenkins Master,但由于您不在那里维护文件,只需将它们放在 master 上就可以了。

然后我在构建环境设置中将作业配置为 。这将在每次启动作业时复制文件。这也适用于多节点配置,因为我们 运行 同时在多个从站上测试作业。