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