gpt4 book ai didi

jenkins - 在 shell 脚本中查找上次构建的状态

转载 作者:行者123 更新时间:2023-12-02 18:09:12 24 4
gpt4 key购买 nike

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

  • 我的工作区有新变化或者
  • 没有新的更改,但我上次运行同一作业被标记为不稳定。

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

最佳答案

您必须使用 URL API,除非您想使用 jenkins-cli 使其变得更加复杂

/api/json 端点是 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

关于jenkins - 在 shell 脚本中查找上次构建的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23322032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com