当前位置:  开发笔记 > 编程语言 > 正文

找出shell脚本中最后一次构建的状态

如何解决《找出shell脚本中最后一次构建的状态》经验,为你挑选了1个好方法。

我有一个Shell脚本的工作,每30分钟后运行一次,下载并接受来自源代码管理的更改.现在我想继续我的shell脚本当且仅当;

我的工作区OR有新的变化

没有新的变化,但我对同一工作的最后一次运行被标记为不稳定.

我查看了Jenkins wiki,但是从明显的环境变量来看,如果不使用Jenkins XML API或某些python脚本在我的构建中编写代码,就不可能找到"我的上次运行"是稳定还是不稳定...是有没有简单的方法来查找这些信息?



1> Slav..:

您必须使用URL API,除非您想进一步使其复杂化 jenkins-cli

/api/jsonend-point是最容易在shell/bash中使用的,因为它在一行中提供所有信息.然后我们可以为我们需要的数据grep它,去掉前导标识符,并获得结果.

您可以访问当前的内部版本号,BUILD_NUMBER并可以计算前一个版本号.您也可以方便地访问JOB_URL.

#!/bin/bash

# Calculate previous build number
prevBuild=$(($BUILD_NUMBER - 1))

# Get previous run status, returns like: result":"UNSTABLE
prevStatus=`curl -silent http://${JOB_URL}/${prevBuild}/api/json | grep -iEo 'result":"\w*'`

# Strip out leading identifier, i.e: result":"
prevStatus=${prevStatus/result\"\:\"/}

if [[ "$prevStatus" == "UNSTABLE" ]]; then
    do_whatever
fi

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有