将参数化触发步骤中的数据输入执行shell步骤

时间:2016-09-20 05:58:12

标签: jenkins

我要求Serverspec测试一个名为" Create_Stack"的Jenkins作业创建的Cloudformation堆栈。

第二个Jenkins作业将通过Parameterized Trigger调用现有的Create_Stack作业,然后在随后的Execute Shell步骤中执行Serverspec测试套件。

但是,为了做到这一点,Execute Shell步骤需要知道Cloudformation堆栈名称。

目前,Stack Name在Create_Stack作业中作为环境变量存在,并且它也存在于包含aws cloudformation create-stack命令返回的输出的归档工件文件中。

我考虑在$WORKSPACE/../../Create_Stack/workspace/my-stack-output.json中的工件文件中查找堆栈名称。这不是理想的,因为它很尴尬,如果有人在我的测试运行时立即再次运行这个工作,也很容易受到竞争条件的影响。

是否有一种干净的方法可以使堆栈名称可用于后续的Execute Shell构建步骤?

1 个答案:

答案 0 :(得分:0)

在某些时候,我发现EnvInject Plugin可以用来解决这个问题。