Jenkins 詹金斯:如何将自定义工具添加到我的工作中';s构建环境

Jenkins 詹金斯:如何将自定义工具添加到我的工作中';s构建环境,jenkins,customtool,Jenkins,Customtool,我在Jenkins中定义了一个自定义工具,我希望在构建过程中运行它。 在“”中,我看到以下内容: “那么,您只需要将工具需求添加到工作的构建环境中”但我在任何地方都找不到这样的选项。我在哪里能找到它?或者是否有其他方法来运行自定义工具的安装?这是管道吗?如果是,您可以在阶段之前将其包含在“环境”下的管道文件中,如下所示: pipeline { agent any options { timestamps() } environment { TOOL = too

我在Jenkins中定义了一个自定义工具,我希望在构建过程中运行它。 在“”中,我看到以下内容:
“那么,您只需要将工具需求添加到工作的构建环境中”但我在任何地方都找不到这样的选项。我在哪里能找到它?或者是否有其他方法来运行自定义工具的安装?

这是管道吗?如果是,您可以在阶段之前将其包含在“环境”下的管道文件中,如下所示:

pipeline {
  agent any
  options {
    timestamps()
  }
  environment {
      TOOL = tool name: '<tool>', type:     'com.cloudbees.jenkins.plugins.customtools.CustomTool'
  }
  stages {
...
}
管道{
任何代理人
选择权{
时间戳()
}
环境{
工具=工具名称:“”,键入:“com.cloudbees.jenkins.plugins.customtools.CustomTool”
}
舞台{
...
}

在项目配置(
/job//configure
)中,在构建环境区域中,有一个“安装自定义工具”选项。选中此选项,您可以从全局工具配置(
/configureTools/
)中配置的工具中进行选择,如果指定了脚本,则将在构建开始时运行该脚本以安装该工具


在本例中,我选择将配置的clojure工具添加到构建中。

如果您使用的是脚本化管道,则可以使用“tool”命令添加工具。 以下示例将向脚本化管道添加自定义工具。该工具必须已通过全局jenkins管理中的自定义工具插件定义

#!/usr/bin/env groovy

node('windows') {
    stage ('prepare env ') {
       withEnv(["MY_TOOL_DIR=${tool name: 'my_tool', type: 'com.cloudbees.jenkins.plugins.customtools.CustomTool'}"]){

        echo "Path to my_tool\"${MY_TOOL_DIR}\""
        bat( script: '@"%MY_TOOL_DIR%\\my_tool.exe",
             returnStdout: true)
        }
    }
}

你确定这适用于管道作业吗?我没有看到构建环境部分。这似乎只适用于标准GUI作业。在我这方面,我只看到常规、Office 365、构建触发器、高级项目选项和管道。恐怕我不确定,也许@sean-c answer会有所帮助?@Conan我们如何访问
clojure
变量在构建步骤中?我想我们只是从一个shell调用它,恐怕我们现在已经停止使用jenkins了,所以我无法检查。祝你好运!如果工具安装已经完成,有什么方法可以避免吗?@Markus HofsetterTool安装由自定义工具插件管理。因此,你可以添加一些代码来检查你的工具是否已经安装在全局jenk中例如,如果test-f“$FILE”,则可以执行
,然后echo“$FILE存在”退出0 fi
$文件可能是工具本身,也可能是首次安装该工具时创建的某个标记文件。org.codehaus.groovy.control.multipleCompositionErrorsException:启动失败:工作流脚本:5:无效选项类型“timestamps”。有效选项类型:[ansiColor、authorizationMatrix、buildDiscarder、catchError、checkoutToSubdirectory、disableConcurrentBuilds、disableResume、durabilityHint、lock、newContainerPerStage、overrideIndexTriggers、parallelsAlwaysFailFast、PreserveStaches、quietPeriod、rateLimitBuilds、retry、script、skipDefaultCheckout、skipStagesAfterUnstable、timeout、waitUntil、warn错误,withContext,withCredentials,withEnv,ws]@第5行第9列。时间戳()删除了选项部分,然后仍然得到“错误:没有找到com.cloudbees.jenkins.plugins.customtools.CustomTool”