
[英]AWS Lambda Environment Variables not set, process.env undefined in Node
[英]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
但是,在项目内部,环境变量REPO
、 GITHUB_REF_NAME
和GITHUB_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.