替换terraform文件中的代码块

时间:2017-05-08 02:56:40

标签: bash jenkins sed aws-lambda terraform

我正在我的Jenkins服务器上运行构建,并且我希望使用当前构建中的提交编号动态填充git_commit字段。该文件中有多个函数,我想使用sed匹配模块的core-lambda-function1名称,并使用当前版本中的提交编号更新git_commit字段。任何帮助表示赞赏。感谢。

module "core-lambda-function1" {
  source  = "./lambda"
  name    = "core-lambda-function"
  runtime = "nodejs6.10"
  role    = "${aws_iam_role.iam_role_for_lambda.arn}"
  filename = "../Archive.zip"
  source_code_hash  = "${base64sha256(file("../Archive.zip"))}"
  source_dir = "../"
  git_commit = ""
}

module "core-lambda-function2" {
  source  = "./lambda"
  name    = "core-lambda-function"
  runtime = "nodejs6.10"
  role    = "${aws_iam_role.iam_role_for_lambda.arn}"
  filename = "../Archive.zip"
  source_code_hash  = "${base64sha256(file("../Archive.zip"))}"
  source_dir = "../"
  git_commit = ""
}

这就是我现在所拥有的。

#!/bin/bash
set -e

while read p; do
  NAME=$p
  GIT_COMMIT=`git rev-parse HEAD`
  echo $NAME | grep `xargs` main.tf -A 7 | sed -ri '7s/git_commit = ""/git_commit\ = \"'$GIT_COMMIT'"/g'
done < build_name

0 个答案:

没有答案