如果工具已经安装,Jenkins会避免安装



这里不是詹金斯的专家。我有一个安装了工具的脚本管道(Node(。不幸的是,它被配置为引入其他依赖项,现在总共需要250秒。我想添加一个条件来避免这次安装,如果它(带包的节点(以前已经安装过,但不知道从哪里开始。也许jenkins存储了可以检查的前一次运行的元信息?

node {
env.NODEJS_HOME = "${tool 'Node v8.11.3'}"
env.PATH = "${env.NODEJS_HOME}/bin:${env.PATH}"
env.PATH = "/opt/xs/bin:${env.PATH}"
// ...
}

您是否使用动态詹金斯代理(docker容器(?在这种情况下,每次运行构建时都会安装工具。将卷装载到容器中,使用持久代理或使用已安装的nodejs构建自己的docker映像。

正如我所看到的,您使用变通方法来安装nodejs工具。

Jenkins支持原生方式(声明式(:

pipeline {
agent any
tools {
nodejs 'NodeJS_14.5'
}
stages {
stage ('nodejs test') {
steps {
sh 'npm -v'
}
}
}
}

将安装首次运行时的工具。在下一个-将不会,因为它已经安装。

最新更新