Я использую config.py в своем проекте flask для обработки входа в базы данных, хранения секретных ключей и т. Д.
Пример файла config.py:
import urllib.parse
import os
class Config:
SECRET_KEY = '123'
@staticmethod
def init_app(app):
pass
class DevelopmentConfig(Config):
DEV = True
# Configure Database URI:
params = urllib.parse.quote_plus("DRIVER={ODBC};" +
"SERVER=azure.com;" +
"DATABASE=db;" +
"UID=po;" +
"PWD=12345")
SQLALCHEMY_DATABASE_URI = "mssql+pyodbc:///?odbc_connect=%s" % params
, и я использую его как таковой:
def create_app(config_name):
app_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
template_path = os.path.join(app_path, 'server/templates/')
static_path = os.path.join(app_path, 'server/static/')
app = Flask(__name__, template_folder=template_path, static_folder=static_path)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
db.init_app(app)
mail.init_app(app)
login_manager.init_app(app)
app.register_blueprint(bp_front)
app.register_blueprint(bp_back)
app.register_blueprint(auth_blueprint, url_prefix='/auth')
return app
Теперь все работает, как ожидалось, но я хочу использовать Gitlab CI для тестирования, и поскольку у меня есть тестовая БД, которой я занимаюсь. Итак, как мне получить доступ к настройкам для подключения без фиксации config.py в репо?
Как \ Следует настроить flask для использования переменных среды, если тесты выполняются Gitlab CI?