【问题标题】:Difference between execute groovy script and the execute system groovy script in jenkins?jenkins中执行groovy脚本和执行系统groovy脚本的区别?
【发布时间】:2013-10-28 12:23:40
【问题描述】:

谁能解释一下jenkins中execute groovy脚本和execute system groovy脚本的区别?以及如何使用执行系统 ​​groovy 脚本将脚本调用到 slave。

【问题讨论】:

    标签: jenkins groovy jenkins-groovy


    【解决方案1】:

    要在从机上执行一个 groovy 脚本,你应该使用groovy plugin

    引用

    普通的“Groovy 脚本”在一个分叉的 JVM 中运行,在从属设备上 构建运行。这与运行“groovy”基本相同 命令并传入脚本。

    您的问题的第一部分在同一页面中得到解答

    系统常规脚本 OTOH 在 Hudson master 的 JVM 中运行。 因此它将可以访问 Hudson 的所有内部对象,所以你 可以用它来改变哈德逊的状态。它类似于 Jenkins 脚本控制台功能。

    【讨论】:

    • 那么什么是“系统常规脚本”?我的项目管道脚本是系统脚本吗?
    【解决方案2】:

    关于系统 Groovy 脚本的另一点需要注意。虽然文档说它始终在 Jenkins 主服务器上运行,但我通过痛苦的方式发现,如果它在由另一项工作触发的工作中是不正确的。在这种情况下,请确保您明确限制它在 master 上运行,否则会发生不好的事情。

    【讨论】:

    • 这个回答并不完全正确。 System Groovy 脚本用于访问 Jenkins 内部(例如 Job/Build/Queue 信息),因此脚本本身在 Jenkins master 上运行,在 Jenkins master JVM 内,无论作业本身在哪个从属服务器上运行。例如,我们的 Jenkins master 没有执行者,并且从不运行构建。它们总是在从属设备上运行,但是 System Groovy 脚本仍然在主 JVM 上运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    相关资源
    最近更新 更多