Действие 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, если вы хотите использовать одни и те же секреты в нескольких репозиториях .