gpt4 book ai didi

jenkins - AWS CLI 查询 Cloudformation 以填充 Jenkins 可扩展选择参数

转载 作者:行者123 更新时间:2023-12-03 07:35:08 32 4
gpt4 key购买 nike

我是 Groovy 的新手,非常感谢您的帮助。

在我的 Jenkins 中,我使用可扩展选择参数来使用 AWS CLI 命令填充列表。

当我在服务器中执行命令时,它为我提供了预期的输出。但它没有在 Jenkins 中生成。

以下是代码片段。

def proc = "aws cloudformation --profile myconfig list-stacks --stack-status-filter CREATE_COMPLETE --stack-status-filter UPDATE_COMPLETE --region us-east-1".execute() | "grep "..-02-"".execute() | "grep \"StackName\"".execute() | "cut -d':' -f2".execute() | "tr ',' ' '".execute() | "tr '\"' ' '".execute() | "sed \"s/\$/,/g\"".execute() | "paste -sd ' '".execute() | "awk '{\$1=\$1;print}'".execute() | "sed -r '/^\\s*\$/d'".execute() 

def Items = []
proc.in.eachLine {line ->


Items.add(line.split()[3])
}

return Items

最佳答案

我猜您想获取 CloudFormation 堆栈名称列表。
我正在使用 Jenkins Active Choice plugin 中的主动选择参数使用以下代码:

def aws_cmd = "aws cloudformation list-stacks \
--query StackSummaries[].StackName \
--stack-status-filter CREATE_COMPLETE \
--stack-status-filter UPDATE_COMPLETE \
--region us-east-1 \
--output text \
--profile myconfig"

def aws_cmd_output = aws_cmd.execute()
//aws_cmd_output.waitFor() // usually not required
def error = aws_cmd_output.err.text
def stacks = aws_cmd_output.text.tokenize()

if (error) {
return [error]
} else {
return stacks
}

如果脚本无法检索堆栈列表,则会返回错误。
它也应该与可扩展选择参数一起使用。

注意!您应该允许 Jenkins 上使用的 IAM 角色执行 cloudformation:List* 操作。

关于jenkins - AWS CLI 查询 Cloudformation 以填充 Jenkins 可扩展选择参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62933150/

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