繁体   English   中英

环境变量设置在 GitHub 操作工作流程中无法在 AWS lambda 项目中访问

[英]Env variables set in GitHub Actions workflow not accessible in AWS lambda project

我有一个 Chalice(AWS lambda Python 框架)项目以下 CI/CD GitHub Action 工作流程:

name: Production Workflow

on:
  push:
    branches:
      - "main"

env:
  REPO: ${{ github.repository }}
  GITHUB_REF_NAME: ${{ github.ref_name }}
  GITHUB_SHA: ${{ github.sha }}

jobs:
  production:
    name: Deploy production
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Set up Python
        uses: actions/setup-python@v1
        with:
          python-version: "3.9"

      - name: Install requirements
        run: pip3 install -r requirements.txt

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-region: ${{ secrets.AWS_REGION }}
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

      - name: Check branch
        run: echo "${{ env.GITHUB_REF_NAME }}"

      - name: Check branch
        run: echo "${{ env.GITHUB_SHA }}"

      - name: Run tests
        run: python3 -m unittest discover -s tests

      - name: Deploy with Chalice
        run: chalice deploy --stage=production

但是,在项目内部,环境变量REPOGITHUB_REF_NAMEGITHUB_SHA不可访问(即os.environ.get("GITHUB_REF_NAME", None) )。 为什么?

我还尝试设置 env 变量,但不是全局设置,而是仅在“Deploy with Chalice”步骤中设置,结果相同。 此外,我可以通过“Check branch”和“Check branch”步骤成功看到在 GitHub Actions 中写入的分支和提交 ID。

在 Chalice 配置文件.chalice/config.json中设置的其他环境变量是可访问的。

您需要设置环境并明确列出您要使用的所有 ENV 变量,如下所示:

- name: Deploy with Chalice
  run: chalice deploy --stage=production
  env:
     GITHUB_REF_NAME: ${{ secrets.GITHUB_REF_NAME }} 
     GITHUB_SHA: ${{ secrets.GITHUB_SHA }} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM