【发布时间】:2021-03-18 02:55:36
【问题描述】:
我想达到什么目标? 将 terraform 输出值(IP 地址)存储为 git hub 操作中的 env 变量,并在更新网络安全组期间使用它。 我做了什么? 基于:Github Actions, how to share a calculated value between job steps?:
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
- name: Extract gateway ip
run: |
terraform init
echo "IP_GAT=$(terraform output -json gatewayStaticIp | jq -r .)" >> $GITHUB_ENV
working-directory: ${{ env.my_dir }}
- name: Update security group
run: |
ip=${{ env.IP_GAT }}
az network nsg rule update -g myGroup --nsg-name myName -n myRuleName --source-address-prefix $ip
显然 jq 存在一些问题,即使它看起来与示例中的完全相同(https://www.terraform.io/docs/commands/output.html):
Error: write EPIPE
有什么想法吗? 提前致谢
【问题讨论】:
-
如果您只运行
terraform output -json gatewayStaticIp而不将其通过管道传输到 jq 会发生什么?您的 GitHub 操作环境是否也有可用的jq?您的 sn-p 仅使用hashicorp/setup-terraform@v1操作显示它,该操作将仅安装 Terraform 核心二进制文件和 GitHub Actions 包装器。
标签: terraform jq github-actions