You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline如何在首次初始化及文件变更时运行yarn命令?

解决方案

要解决首次初始化时无法触发yarn步骤的问题,只需要修改when条件,让它同时满足package.json变更或首次构建两种场景即可。

修改后的Pipeline代码

stage("Install NodeJS dependencies") {
    when {
        anyOf {
            changeset "package.json"
            expression { currentBuild.previousBuild == null }
        }
    }
    agent {
        docker {
            image 'node:14-alpine'
            reuseNode true
        }
    }
    steps {
        sh 'yarn --silent'
        sh 'yarn dev --silent'
    }
}

代码说明

  • anyOf:表示只要满足其中一个条件就执行该stage
  • changeset "package.json":保留原有的检测逻辑,当package.json文件变更时触发
  • expression { currentBuild.previousBuild == null }:判断当前是否为首次构建——首次构建时没有上一次构建记录,previousBuild会返回null,因此该条件成立

这样不管是首次初始化构建,还是后续package.json有变更的情况,都会自动执行yarn依赖安装和构建步骤。

内容的提问来源于stack exchange,提问作者F.Hazi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:41:31