替换 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
宝马

为什么不是Terraform 中的输入变量

variable "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 = "${var.git_commit}"      #### Use variable here.
}

因此,在您的包装器脚本中,您可以更新为:

#!/bin/bash
set -e

GIT_COMMIT=$(git rev-parse HEAD)

terraform plan -var 'git_commit=${GIT_COMMIT}' ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批量替换Terraform中的文件内容

来自分类Dev

如何根据条件在Terraform中动态替换变量的值

来自分类Dev

在jQuery中查找并替换代码块?

来自分类Dev

代码块中的Sphinx变量替换

来自分类Dev

如何用sed或awk替换文件中的两个代码块

来自分类Dev

如何使用preg_replace和regex表达式替换php文件中的代码块?

来自分类Dev

替换ini文件中的块文本

来自分类Dev

批量替换文件中的Alt代码

来自分类Dev

Terraform希望替换现有资源

来自分类Dev

Terraform 中的关键文件

来自分类Dev

sed替换2个文件中的文本块

来自分类Dev

sed替换2个文件中的文本块

来自分类Dev

替换块内的块

来自分类Dev

替换try {} catch {}块以上传文件

来自分类Dev

用文件内容替换文本块

来自分类Dev

文件中的简单替换

来自分类Dev

Java代码优化,替换文件中的所有字符

来自分类Dev

如何使用python替换HTML文件中的HTML代码?

来自分类Dev

替换 scriptlet 以避免 .jsp 文件中的 java 代码

来自分类Dev

使用python正则表达式替换HTML代码段中的块

来自分类Dev

如何使用 terraform 删除和替换默认的 GCP vpc?

来自分类Dev

使用sed使用另一个文件的内容替换文件中的文本块

来自分类Dev

替换PHP中的ASCII代码

来自分类Dev

hax 中的代码替换宏?

来自分类Dev

在C#中替换try ... catch块

来自分类Dev

替换numpy数组中的元素块

来自分类Dev

TFileStream:从文件中读取数据块并在 Delphi 7 中替换它

来自分类Dev

块替换精灵路径

来自分类Dev

如何替换空块?