小编Wyl*_*ice的帖子

查询 AWS CLI 以填充 Jenkins“Active Choices Reactive Parameter”(Linux)

我有一个 Jenkins 2.0 作业,要求用户通过 Jenkins“主动选择反应参数”选择要执行作业的服务器列表。作业将针对的这些服务器执行是 AWS EC2 实例。我不想在“Active Choices Reactive Parameter”中对可用服务器进行硬编码,而是想查询 AWS CLI 以获取服务器列表。

一些注意事项:

  • 我已为 Jenkins 2.0 EC2 分配了一个 IAM 角色,该角色具有足够的权限通过 CLI 查询 AWS。
  • AWS CLI 安装在 Jenkins EC2 上。
  • 如果我在 Groovy 脚本中对值进行硬编码,“Active Choices Reactive Parameter”将返回复选框列表,例如: return ["10.1.1.1", "10.1.1.2", 10.1.1.3"]
  • 我知道我的 awk 命令可以改进,我还不确定如何改进,但我的主要目标是在 Jenkins 中动态加载服务器列表。

我可以直接在托管 Jenkins 的 EC2 实例上运行以下命令:

aws ec2 describe-instances --region us-east-2 --filters
   "Name=tag:Env,Values=qa" --query
   "Reservations[*].Instances[*].PrivateIpAddress" | grep -o
   '\"[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\"' | awk
   {'printf $0 ", "'} | awk {'print "[" $0'} | awk {'gsub(/^[ \t]+|[
   \t]+$/, …
Run Code Online (Sandbox Code Playgroud)

groovy amazon-web-services jenkins aws-cli

5
推荐指数
1
解决办法
8499
查看次数

标签 统计

amazon-web-services ×1

aws-cli ×1

groovy ×1

jenkins ×1