【发布时间】:2019-02-04 11:32:59
【问题描述】:
我已经构建了一个脚本 trigger_jenkins_job.sh,它现在可以正常工作。它主要由三个功能组成:
input_checkpoint
run_remotejob #: Running Jenkins job remotely using Json api.
sleep 10 #: 10 sec estimated time until pending duration is over
#and Jenkins job start running, i.e. a given slave was
#assigned to run the job.
get_buildID #: Retrieving build state, last build ID and last stable
#build ID using
问题是我想摆脱睡眠 10 秒。同时,我想在执行函数 get_buildID 之前确定远程触发的作业实际上是在节点上运行的。
这样我将检索触发作业的 id,而不是触发该作业之前队列中的最后一个。
关于作业的 Jenkins 文件,我指定:
agent {
label 'linux-node'
}
所以,我想问题是,我需要一些如何通过 bash 脚本来测试 linux-node 是否正在运行远程触发的作业,如果是,我执行函数 get_buildID。
【问题讨论】:
-
让你的 run_remotejob 在运行时返回 true 值,基于此你可以触发其余的作业,无需等待任何事情