我的有效工作流程文件是:
env:
TF_BACKEND_BUCKET: ${{ secrets.TF_BACKEND_BUCKET }}
TF_BACKEND_KEY: ${{ secrets.TF_BACKEND_KEY }}
TF_FILENAME: ${{ vars.TF_FILENAME }}
TF_VAR_FILENAME: ${{ vars.TF_VAR_FILENAME }}
jobs:
prepare_env:
name: Prepare AWS Environment
runs-on: ubuntu-latest
environment: ${{ inputs.cloud_provider }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Apply Variables and Secrets
working-directory: deploy/terraform-aws
## Set AK/SK and terraform s3 backend info
run: |
echo "current path is: $(pwd)"
ls -l provision-kafka-aws.tf
sed -i "s/TF_BACKEND_BUCKET/$TF_BACKEND_BUCKET/g" provision-kafka-aws.tf
我的无效工作流程文件是:
env:
TF_BACKEND_BUCKET: ${{ secrets.TF_BACKEND_BUCKET }}
TF_BACKEND_KEY: ${{ secrets.TF_BACKEND_KEY }}
TF_FILENAME: ${{ vars.TF_FILENAME }}
TF_VAR_FILENAME: ${{ vars.TF_VAR_FILENAME }}
jobs:
prepare_env:
name: Prepare AWS Environment
runs-on: ubuntu-latest
environment: ${{ inputs.cloud_provider }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Apply Variables and Secrets
working-directory: deploy/terraform-aws
## Set AK/SK and terraform s3 backend info
run: |
echo "current path is: $(pwd)"
ls -l provision-kafka-aws.tf
sed -i "s/TF_BACKEND_BUCKET/$TF_BACKEND_BUCKET/g" $TF_VAR_FILENAME
错误输出是:
sed: can't read provision-kafka-aws.tf
: No such file or directory
我的问题是:我确信该文件存在并且 ls 正确打印出来。但是github在使用变量时找不到文件。怎么解决这个问题?
使用 GitHub Actions 表达式 语法来引用您的环境变量:
env:
TF_BACKEND_BUCKET: ${{ secrets.TF_BACKEND_BUCKET }}
TF_BACKEND_KEY: ${{ secrets.TF_BACKEND_KEY }}
TF_FILENAME: ${{ vars.TF_FILENAME }}
TF_VAR_FILENAME: ${{ vars.TF_VAR_FILENAME }}
jobs:
prepare_env:
name: Prepare AWS Environment
runs-on: ubuntu-latest
environment: ${{ inputs.cloud_provider }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Apply Variables and Secrets
working-directory: deploy/terraform-aws
## Set AK/SK and terraform s3 backend info
run: |
echo "current path is: $(pwd)"
ls -l provision-kafka-aws.tf
sed -i "s/${{ env.TF_BACKEND_BUCKET }}/${{ env.TF_BACKEND_BUCKET }}/g" ${{ env.TF_VAR_FILENAME }}