如何使用ci.yml声明要在python中使用的环境变量?
-在gitlab-ci.yml中如何使用ci.yml声明要在python中使用的环境变量?,python,django,continuous-integration,gitlab-ci,Python,Django,Continuous Integration,Gitlab Ci,-在gitlab-ci.yml中 variables: SECRET_KEY: secret_key DB_NAME: somedb_name DB_USER: postgres DB_HOST: mdillon-postgis DB_PORT: 5432 DB_PASSWORD: '' -在django DATABASES = { 'default': { 'ENGINE': 'django.contrib.gis.db.backends.po
variables:
SECRET_KEY: secret_key
DB_NAME: somedb_name
DB_USER: postgres
DB_HOST: mdillon-postgis
DB_PORT: 5432
DB_PASSWORD: ''
-在django
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': os.getenv('DB_NAME'),
'USER': os.getenv('DB_USER'),
'PASSWORD': os.getenv('DB_PASSWORD'),
'HOST': os.getenv('DB_HOST'),
'PORT': os.getenv('DB_PORT'),
}
}
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': os.getenv('DB_NAME'),
'USER': os.getenv('DB_USER'),
'PASSWORD': os.getenv('DB_PASSWORD'),
'HOST': os.getenv('DB_HOST'),
'PORT': os.getenv('DB_PORT'),
}
}
在运行管道时,Django似乎没有拾取CI上声明的变量。如何在测试时正确声明环境变量?任何人都有同样的困惑。以下是步骤:
POSTGRES_DB: $DB_NAME
POSTGRES_USER: $DB_USER
POSTGRES_PASSWORD: $DB_PASSWORD
DATABASE_URL: postgres://postgres:@mdillon__postgis:5432/$DB_NAME
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': os.getenv('DB_NAME'),
'USER': os.getenv('DB_USER'),
'PASSWORD': os.getenv('DB_PASSWORD'),
'HOST': os.getenv('DB_HOST'),
'PORT': os.getenv('DB_PORT'),
}
}