首页 > 解决方案 > 我正在尝试在 github 操作上将 env var 添加到 django secret_key 但显示错误

问题描述

name: MoneyTracker Test

on:
    push:
        branches:
            - master

    pull_request:
        branches:
            - master

jobs:
    build:
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v2
            - name: Set up python 3.7
              uses: actions/setup-python@v2
              with:
                python-version: 3.7
            - name: Install dependency
              run: |
                  python -m pip install --upgrade pip
                  pip install -r requirements.txt
            - name: Lint with flake8
              run: |
                  pip install flake8
                  flake8
            - name: Coverage report
              env:
                  secret_key: ${{secrets.SECRET_KEY}}
                  debug: ${{secrets.DEBUG}}
                  db: ${{secrets.DB}}
              run: |
                  pip install coverage
                  coverage run MoneyTracker/manage.py test
                  coverage report
            - name: Django testing
              run: |
                  python3 MoneyTracker/manage.py test MoneyTracker

项目链接在这里。我应该如何在 GitHub 操作上向我的项目添加密钥?环境变量区分大小写。在操作或步骤中运行的命令可以创建、读取和修改环境变量。要设置自定义环境变量,您需要在工作流文件中指定变量。您可以使用作业为步骤、作业或整个工作流定义环境变量。

标签: djangogithub-actions

解决方案


1.(Secrets的推荐方式)首选且安全的方式是在您的 GitHub 存储库设置中添加 Secret 环境变量(有关更多信息,请参阅此 [Link]。然后您可以在actions/django.yml文件中使用具有以下语法的这些变量。

env:
  SECRET_KEY: ${{ secrets.SECRET_KEY }}

见下图或此链接

在 Github Repo 中添加 Secret

1.(不推荐用于 Secrets)您可以使用以下语法设置 env 变量,或者您可以按照Official Docs Here。但是如果你的仓库是公开的,那么这个方法仍然会暴露你的 SECRET_KEY 所以我不推荐这个秘密。但是,如果您想设置 PATH 等环境变量,则可以使用此方法。

env:
  SECRET_KEY: your_django_secret_key

推荐阅读