小编Cas*_*ato的帖子

如何“包含”另一个文件作为 Jenkins Pipeline 定义的一部分

我们有一个大型项目,有多个单独的声明性管道文件定义。这用于从单个代码库构建不同的应用程序和安装程序。

目前,所有这些文件都包含一大块“代码”,用于生成电子邮件正文和 JIRA 更新消息。例子:

// Get a JIRA's to add Comments to
// Return map of JIRA id to comment text from all commits for that JIRA
@NonCPS
def getJiraMap() {
  a bunch of stuff
return jiraset
}

// Get the body text for the emails
def getMailBody1() {
    return "See: ${BUILD_URL}\n\nChanges:\n" + getChangeString() + "\n" + testStatuses()
}

etc...
Run Code Online (Sandbox Code Playgroud)

我想做的是将所有这些常用方法放在一个单独的文件中,所有其他管道文件都可以包含该文件。这看起来应该很简单,但我发现的所有示例似乎都相当复杂,涉及单独的 SCM - 这不是我想要的。

更新:

经过该链接中给出的各种建议,我创建了以下文件 - BuildTools.groovy:请注意,该文件与使用它的 jenkins 管道文件位于同一目录中。

import hudson.tasks.test.AbstractTestResultAction
import hudson.model.Actionable

Class BuildTools {

// Get a …
Run Code Online (Sandbox Code Playgroud)

include jenkins-pipeline

15
推荐指数
1
解决办法
7034
查看次数

MBeanServerConnection.invoke永远挂起

我们有一个应用程序,它使用MBeanServerConnection.invoke在MBean上调用各种远程方法.偶尔会有其中一种方法挂起.有没有办法让电话超时?如果通话时间太长,它将返回异常?

或者我是否必须将所有这些调用移动到单独的线程中,以便它们不会锁定UI并要求杀死应用程序?

timeout jmx mbeans invoke hang

5
推荐指数
1
解决办法
2270
查看次数

标签 统计

hang ×1

include ×1

invoke ×1

jenkins-pipeline ×1

jmx ×1

mbeans ×1

timeout ×1