Действие GitHub не смогло найти переменную окружения для Django

Я пытался использовать переменную окружения в моем приложении Django, где я использую пакет django-environ с файлом .env на моей локальной машине. Но я не могу использовать файл .env в моем действии на GitHub. Я настроил секретные переменные действия вручную в настройках проекта. Вот код моей локальной машины:

import environ

env = environ.Env()
environ.Env.read_env()

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': env('POSTGRES_DB_NAME'),
        'USER': env('POSTGRES_USER'),
        'PASSWORD': env('POSTGRES_PASSWORD'),
        'HOST': env('POSTGRES_HOST'),
        'PORT': env('POSTGRES_PORT'),
    }
}

Этот код работает в моей локальной среде, но не смог загрузиться в действиях GitHub. Я настроил те же переменные и в действиях GitHub, но все равно приложение не смогло найти переменную окружения в действии GitHub.

В GitHub Action отображаются следующие ошибки:

Вам нужно настроить env для вашего run шага, примерно так:

    - name: Run Tests
      run: |
        python manage.py test
      env:
        POSTGRES_DB_NAME: ${{ secrets.POSTGRES_DB_NAME }}
        POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
        POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
        POSTGRES_HOST: ${{ secrets.POSTGRES_HOST }}
        POSTGRES_PORT: ${{ secrets.POSTGRES_PORT }}

Релевантные документы: https://docs.github.com/en/actions/security-guides/encrypted-secrets#using-encrypted-secrets-in-a-workflow

Дополнительный совет

  • Используйте одно и то же имя для секрета GitHub и переменной среды
  • .
  • Создайте организацию на GitHub, если вы хотите использовать одни и те же секреты в нескольких репозиториях
  • .
Вернуться на верх