我要求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构建步骤?