Docker合成命令失败,但未触发Jenkins故障

4nkexdtk  于 2023-01-01  发布在  Jenkins
关注(0)|答案(1)|浏览(97)

我有一个jenkins pipeline,它带有docker,用于node/npm构建。如果它们失败了,Jenkins仍然显示构建成功。我如何让它检测到失败?
我的Jenkins文件看起来像这样:

stage('Deploy Staging') {
      when {
        branch 'staging'
      }
      steps {
        sh 'ssh root@xxx.xxx.xxx.xx "cd project; git checkout staging; git fetch origin staging; git reset --hard origin/staging; COMPOSE_FILE=build/staging/docker-compose.yml make build-all; COMPOSE_FILE=build/staging/docker-compose.yml make up;"'
        discordSend description: "Staging pipeline build status: ${currentBuild.currentResult}", link: env.BUILD_URL, result: currentBuild.currentResult, title: JOB_NAME, webhookURL: 'url'
      }
    }
dfddblmv

dfddblmv1#

这个解决方案并不是专门针对npm构建失败的,但是你可以考虑使用Log Parser插件。这个插件允许你设置控制台解析规则,控制台解析规则获取日志的控制台输出,并扫描它以寻找你指定的解析规则。然后,当遇到匹配这些规则的文本时,你可以使构建失败/通过/警告。
因此,在您的情况下,您可以制定一个与您的npm构建失败消息匹配的规则,并在构建失败发生时强制构建失败。

相关问题