没有直接的Rundeck实施允许您将一个作业的输出传递给另一个作业作为输入,但是我过去尝试过一些工作,现在我选择了第二种方法。
1.使用文件传递数据
- 将ID /输出保存到第一个作业的tmp文件中
- 第二份工作读了那个文件
由于您依赖文件,因此可能会出错,但是好的代码可以改善。
2.使用Rundeck CLI从另一个作业调用两个作业
这是我正在使用的方法。
JobA 打印出两个随机数。
echo $RANDOM;echo $RANDOM
JobB 打印出 JobA 产生的第二个随机数,该随机数作为选项“数字”传递
echo "$RD_OPTION_NUMBER is the number JobB received"
JobC 调用第一个作业,将最后一行保存到变量中并将其传递给JobB
#!/bin/bashOUTPUT_FROM_JOB_A=`run -f --id <ID of JobA> | tail -n 1`run -f --id <ID of JobB> -- -number $OUTPUT_FROM_JOB_A
输出:
[5394] execution status: succeededJob execution started:[5395] JobB <https://hostname:4443/project/Project/execution/show/5395>6186 is the number JobB received[5395] execution status: succeeded
这只是原始代码示例。您可以使用python子进程进行大量操作,也可以仅使用bash。



