原因

Build step ‘Execute shell’ marked build as failure

Finished: FAILURE
在这里插入图片描述

分析

从给出的信息来看,Jenkins构建步骤 ‘Execute shell’ 标记了构建失败。这个问题可能有很多原因,这里有一些常见的解决办法:

查看日志:首先,你需要查看Jenkins的构建日志,找出具体的错误信息。这通常可以在Jenkins的构建页面中找到,你可以找到 ‘Console Output’ 或类似的选项来查看日志。
命令问题:在‘Execute shell’步骤中,你可能执行了一些shell命令。检查这些命令是否正确,是否能在你的环境中正常工作。
环境问题:确保你的构建环境设置正确。例如,如果你在’Execute shell’步骤中使用了某个特定版本的node.js,你需要确保Jenkins服务器已经安装了正确版本的node.js。
权限问题:确保Jenkins有足够的权限来执行你的命令。例如,它可能需要读取或写入文件,或者连接到网络。
依赖问题:如果你的项目依赖于其他库或工具,确保这些依赖项已经正确安装,并且可以被Jenkins访问。
时间限制:如果你的构建过程需要很长时间,确保你没有设置任何时间限制,这可能会导致Jenkins在构建完成之前就标记它为失败。

检查构建步骤:查看Jenkins构建日志,确定在执行Shell命令时发生了什么。检查所执行的Shell脚本有无语法错误、是否使用了正确版本的或正确配置的工具等。确保脚本可以在你的环境中正常运行。
检查磁盘空间:如果磁盘空间不足,可能会导致Jenkins构建失败。确保服务器或工作站的磁盘空间足够。
更新 Jenkins 和插件:确保你的Jenkins实例及其插件是最新版本。有时,新版本中可能包含解决了先前版本中存在的错误的更新,这可能有助于解决你的问题。
检查节点管理:如果你使用的是分布式构建,那么你需要检查节点管理器(Node Manager)。如果某个节点在执行Shell命令时发生错误,这可能会影响整个构建过程。
配置Jenkins:你可以尝试重新配置Jenkins来解决这个问题。例如,你可以在"系统管理" > “全局工具配置"中更改默认shell路径,或者在"系统管理” > "节点管理"中更改节点的配置。

结论

脚本中 加#!/bin/bash 就可以

在这里插入图片描述
Jenkins构建时运行脚本报错时:Build step ‘Execute shell’ marked build as failure
可能原因:
1.磁盘空间不足导致报错。
2.请在“Execute shell(执行shell)”构建步骤命令中添加:#!/bin/bash
一般默认情况下,Jenkins采取/bin/sh -xe这种方式-x将打印每一个命令;另一个选项-e,当任何命令以非零值(当任何命令失败时)退出代码时,这会导致shell立即停止运行脚本,而#!/bin/bash是指此脚本使用/bin/bash来解释执行

注释1:#!是一个特殊的表示符,后面表示解释此脚本的shell路径
注释2:bash只是shell的一种,还有很多其它shell,如:sh,csh。。等等
注释3:#!/bin/bash只能放在第一行,如果后面还有#!,那么只能看成是注释

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐