jenkins中shell脚本执行失败,但构建结果仍然显示success的问题

jenkins 判断构建操作执行成功了还是失败

  • 可以通过返回0或1的结果。成功的话,返回0;不成功返回1.
  • 比如shell脚本,通过if判断某个条件,最后,成功:exit 0不成功:exit 1
python -u ./jenkins_run_test.py -i ${Random}
if [ $? -eq 0 ]; then ## $? 是shell 上一条命令的返回值,如果执行成功,退出码是 0,如果失败,退出码是 非0
     echo "The Job Excute Success........"
else
     echo "The Job  Excute Failed........."
     exit 1
fi
  • 但是我在进行如上操作之后,依旧会出现 shell 脚本失败,并且报错,但是构建依旧成功,这时候,就需要去检查你的原生的python 脚本,是不是进行了容错性处理,比如捕捉信号,或者使用进程去跑,我的python代码执行如下:
 def signal_handler(signum, frame):
    log.info('=== enter func :   [signal_handler] ')
    log.info('=== signal : {}'.format(signum))
    if signum == signal.SIGHUP:
        log.warning('=== WARN : Ignore SIGHUP ...')
        return
    try:
        pool.terminate() ## 
        pool.join()
    finally:
        exit(0)


def worker_run():
        print('=== Start worker')
        worker = test_worker(settings, all_dev)
        worker.start()

    p = Process(target = worker_run, args = ())
    p.start()
    p.join()

改动之后的代码:

def worker_run():
        print('=== Start worker')
        worker = test_worker(settings, all_dev)
        worker.start()

    worker_run()
    ## p = Process(target = worker_run, args = ())
    ## p.start()
    ## p.join()

在改动之后,如果python 脚本执行出错,构建就会同步,出现failtrue.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jenkins可以通过执行Shell脚本来实现自动化构建、测试和部署等操作。具体步骤如下: 1. 在Jenkins创建一个新的构建任务。 2. 在构建任务的配置页面,选择“构建环境”选项卡,勾选“执行shell脚本”选项。 3. 在“执行shell脚本”文本框编写需要执行Shell脚本。 4. 点击“保存”按钮保存配置,然后点击“立即构建”按钮执行构建任务。 执行Shell脚本可以实现各种自动化操作,例如编译代码、运行测试、打包应用程序等。需要注意的是,Shell脚本的编写需要遵循一定的规范,确保脚本能够正确执行。 ### 回答2: Jenkins是一种流行的开源持续集成和持续交付工具,可以帮助开发者快速、自动化构建、测试和部署软件。其Jenkins执行shell脚本是其常见的用法之一。 执行shell脚本Jenkins的一种构建步骤,它可以在Jenkins构建过程自动运行指定的shell脚本。通过执行shell脚本Jenkins可以完成许多任务,包括代码编译、测试、部署等。 为了执行shell脚本,我们可以在Jenkins构建步骤添加一个“Execute shell”步骤。在此步骤,我们可以输入需要运行的shell命令或脚本,例如: ``` #!/bin/bash echo "Hello, world!" mkdir -p build ./configure && make && make install ``` 在上面的示例,我们首先使用echo命令输出一条消息,然后使用mkdir命令创建一个名为build的目录,最后使用configure、make和make install命令编译和安装代码。 除了单独执行shell脚本外,Jenkins还可以与其他DevOps工具集成,例如Git、Docker、Ansible等。通过与这些工具的结合,Jenkins能更好地完成自动化部署、容器化、工作流管理等任务。 总之,Jenkins执行shell脚本Jenkins流程自动化过程不可或缺的一步。只要掌握好基本的shell编程知识,就可以在Jenkins方便地编写和执行自己的shell脚本,实现自动化构建、测试和部署。 ### 回答3: Jenkins是一款持续集成工具,能够通过自动构建、测试和部署来增强软件开发流程,提高开发效率和质量。而Shell脚本是指一组命令的序列,用于执行特定的任务或解决特定的问题,通常用于自动化执行某些命令。在Jenkins执行Shell脚本的方法如下: 1. 在Jenkins创建一个构建任务,并配置相关参数,例如构建参数、源码管理、构建触发器、构建环境等。 2. 在构建任务的“构建步骤”添加“执行Shell脚本”的步骤。 3. 在执行Shell脚本的窗口,编写需要执行Shell脚本命令,例如: ```bash cd /opt/workspace/ mvn clean package ``` 4. 点击保存并执行构建Jenkins会按照配置的构建步骤依次执行Shell脚本命令。 需要注意的是,执行Shell脚本的用户需要具有执行权限,并且需要配置好相应的环境变量和路径。同时也要注意安全问题,避免Shell脚本存在恶意代码或安全漏洞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值