当前位置: 首页 > 面试题库 >

如何使Jenkins / Hudson的工作在其他职位上工作并决定是否建立?

杜俊楚
2023-03-14
问题内容

问题

鉴于所有作业LEVEL_X的工作名称中都包含字符串,其中X是数字>1。我希望X = n的每个作业监视具有的每个作业X = n-1,并在每个作业成功完成后开始构建。我希望X = n每隔1分钟对其他工作进行监视。

首先,我想知道最好的方法是什么,其次,我希望解决方案是否可以通过一个小的脚本(可能是一个可以system groovy script使用Groovy
PLUGIN 运行的常规脚本)来实现。


问题答案:

以下是一些提示和代码段:

  • 那里有一个Groovy脚本控制台http://<jenkins-server>/script,它将帮助您调试脚本。
  • 这里是Jenkins Java API的链接。
  • 输出所有作业名称的代码段:
        def hi = hudson.model.Hudson.instance
       hi.getItems(hudson.model.Project).each {project ->
       println(project.displayName)
    }
  • 代码段提取nLEVEL_n(如封闭实施):
        def level = { name ->
      def ret = 0
      name.eachMatch(~'LEVEL_([1-9]+[0-9*])', {ret = it[1].toInteger()})
      return ret
    }
  • 获取所有最新版本状态的代码段:
        def hi = hudson.model.Hudson.instance
    hi.getItems(hudson.model.Project).each {project ->
      println(project.lastBuild.result)
    }
  • 链接到开始构建的方法。

注意:如果您使用的是Matrix版本,事情会变得有些麻烦。但是只要您不这样做就足够了。



 类似资料:
  • 问题内容: 如何在预构建步骤中触发hudson的其他工作? 问题答案: 有一个参数化触发器插件,可在“添加构建步骤”菜单中启用“在其他项目上进行触发器/调用构建”。

  • Note: Seafile 服务器 5.0.0 之后,所有配置文件都移动到了统一的 conf 目录下。 了解详情. 从专业版服务器的 2.0.5 版本开始,Seafile 可以使用兼容 S3 的云存储(比如 OpenStack/Swift)作为后端。这篇文档将以使用 Swift 为例。 准备工作 首先您需要为 Swift 启用 S3 的模拟中间件。有关说明可以参考以下链接: http://www.

  • 问题内容: 我正在尝试创建一个WCF REST客户端,该客户端将与Jenkins通信并从XML文件创建作业,然后构建该作业。我的理解是,您可以使用Jenkins做到这一点。 有人可以提供一些命令,您可以在浏览器的地址栏上键入这些命令来创建和构建作业吗?即:沿着这些思路。 问题答案: 请参阅Jenkins API Wiki页面(包括末尾的注释)。您可以使用Jenkins本身提供的文档来填补空白。例如

  • 我有一个程序,用来接受用户的图像。我改为接受PDF文件,而不是我们的客户要求的问题是它不工作。 我已经换了哑剧。php配置到这个 这是我保存上传文件的CI代码 HTML 滑动分页 编辑:jquery报告该文件已成功上载,因为它返回JSON,但每当我检查目录时,都没有任何内容。奇怪的是,我将文件扩展名重命名为。TXT并上传了一个3.5MB的pdf文件。txt扩展名,它已成功上载并位于正确的目录中。

  • 问题内容: 我使用 hudson.cli.CLI jar* 创建Jenkins职位。我在 “构建后步骤” 部分中选择了 “归档工件” 选项。它将每个成功构建的工件存档。我正在使用 jenkins远程访问api 获取有关 作业的 详细信息。并获取有关 构建的 详细信息。 *** 在删除构建时,不会删除相应的归档工件。我想确保将其删除。 当我使用jenkins远程访问api 进行构建时,它会返回jso

  • 问题内容: 我正在尝试运行python脚本,该脚本具有使用boto3 sdk访问s3的代码。我已经在Windows计算机中创建了默认配置文件。 在窗口cmd中,aws cli命令可以正常工作以访问s3存储桶。 在window cmd中手动启动时,python脚本也可以正常工作 我正在尝试通过詹金斯自动化。它失败并抱怨令牌无效。 为了进行测试,我在詹金斯工作中执行了以下命令。 ClientError