Как указать параметры БД postgres во время сборки Github Action Python для Azure?
У меня есть веб-приложение Django, которое я пытаюсь развернуть в Azure. Я следую этому руководству по настройке проекта. Во время сборки я пытаюсь запустить миграции на БД, используя следующую команду:
env:
WEBSITE_HOSTNAME: 'something'
DBHOST: ${{ secrets.DBHOST }}
DBNAME: ${{ secrets.DBNAME }}
DBPASSWORD: ${{ secrets.DBPASSWORD }}
DBUSER: ${{ secrets.DBUSER }}
DBPASS: ${{ secrets.DBPASS }}
DBPORT: ${{ secrets.DBPORT }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python version
uses: actions/setup-python@v1
with:
python-version: '3.10'
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Install dependencies
run: pip install -r requirements.txt
- name: Make migrations and run migrations
run: python ./appname/manage.py migrate
Однако этот шаг не удается выполнить со следующей ошибкой:
django.db.utils.OperationalError: could not translate host name "***.***.database.azure.com" to address: Name or service not known
Я обращаюсь к этим значениям в settings.py следующим образом:
hostname = os.environ['DBHOST']
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': os.environ['DBNAME'],
'USER': os.environ['DBUSER'],
'PASSWORD': os.environ['DBPASS'],
'PORT': os.environ['DBPORT'],
'HOST': hostname + ".postgres.database.azure.com" if 'WEBSITE_HOSTNAME' in os.environ else os.environ['DBHOST']
}
}
Я вставил значения DBNAME, DBHOST и т.д., показанные на скриншоте, в качестве секретов приложения в github, поэтому я не совсем понимаю, почему он их не находит. Может ли кто-нибудь подсказать, что я упускаю?