【问题标题】:Transfer source files from local machine to Jenkins slave将源文件从本地机器传输到 Jenkins slave
【发布时间】:2017-05-20 01:29:12
【问题描述】:

为这个愚蠢的问题道歉,我对 Jenkins 完全陌生,并试图将 POC 组合在一起。我基本上得到了一个邮递员集合,通过 Newman 运行,希望在 Jenkins 上执行。 Jenkins 设置已经存在,我可以创建一个配置并让它安装 Newman,但我确信我的权限会受到限制。

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

谁能指导我如何做到这一点?我已经查看了很多关于插件的现有问题,但恐怕我无法安装新的,我什至不确定我们的 Jenkins 设置中存在什么。任何不需要这样做的解决方案都是理想的。我已经勾选了“在构建开始之前通过 SSH 发送文件或执行命令”复选框,但似乎这仅适用于工作区,我需要先以某种方式获取文件

【问题讨论】:

    标签: jenkins ssh postman newman


    【解决方案1】:

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

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

    【讨论】:

    • 完全忘记了这个问题,我在 git 中获得了源材料,这意味着我能够以更好的方式处理事情。如果没有这个选项,我会默认使用这个答案
    • 感谢您的更新。我在许多节点上编译时使用复制功能,我们希望确保每次编译相同的代码,因为开发人员可能会在构建开始时提交更改。这两种方法都有效,通常最适合您的情况才是您需要的结果。
    • Copy to Slave 插件已于 2021 年弃用。
    【解决方案2】:

    在 linux slave 的情况下,在进行配置后(在 Manage Jenkins->Manage nodes >new mode 中)有一个名为 remote root directory 的选项,并通过选择启动方法作为您需要提供凭据的位置

    一旦您连接到从机,您的工作工作区将自动在远程根目录上的从机上创建,其中的代码将通过 ssh 隧道复制(内部 jenkins 通过 Java Web 套接字 API 对从机执行 scp) .

    【讨论】:

    • 不幸的是,我无权管理 Jenkins,也看不到使用远程根目录的能力。还有其他选择吗?
    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2015-11-16
    • 2011-01-28
    • 2020-10-26
    • 2020-01-23
    • 2017-05-02
    • 1970-01-01
    相关资源
    最近更新 更多