CKAN配置设置可从
ckanext-envvars的Python项目详细描述
ckanext环境变量
这个ckan扩展检查环境变量是否符合 所需的格式并用其更新相应的ckan配置设置 价值。
为了让扩展正确地标识映射到格式的env var键 对于config对象,env var键的格式如下 方式:
- 全部大写
- 将句点('.')替换为两个下划线(''\uu')
- 键必须以“ckan”或“ckanext”开头
一些示例:
ckan.site_id --> CKAN__SITE_ID ckanext.s3filestore.aws_bucket_name --> CKANEXT__S3FILESTORE__AWS_BUCKET_NAME
对于通常不以“ckan”开头的键,添加“ckan”(3个下划线) 从一开始帮助分机识别这些键,例如:
sqlalchemy.url --> CKAN___SQLALCHEMY__URL beaker.session.secret --> CKAN___BEAKER__SESSION__SECRET
要求
在CKAN 2.3和2.4.0中测试,但可能在以前的版本中工作。
要确保所有配置设置都被env var值覆盖,envvars 必须是ckan.plugins列表中的最后一个插件条目(请参见“安装” 下面)。
安装
安装ckanext环境变量:
激活您的CKAN虚拟环境,例如:
. /usr/lib/ckan/default/bin/activate
将ckanext envvars python包安装到虚拟环境中:
pip install ckanext-envvars
将envvars添加到ckan中的ckan.plugins设置 配置文件(默认情况下,配置文件位于 /etc/ckan/default/production.ini)。
重启ckan。例如,如果您在ubuntu上使用apache部署了ckan:
sudo service apache2 reload
开发安装
要安装ckanext envvars以进行开发,请激活ckan virtualenv并 做:
git clone https://github.com/okfn/ckanext-envvars.git cd ckanext-envvars python setup.py develop pip install -r dev-requirements.txt
运行测试
要运行测试,请执行:
nosetests --nologcapture --with-pylons=test.ini
要运行测试并生成覆盖率报告,首先确保 在您的virtualenv(pip install coverage)中安装覆盖率,然后运行:
nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.envvars --cover-inclusive --cover-erase --cover-tests
在pypi上注册ckanext envvars
ckanext envvars应该在pypi上可用 https://pypi.python.org/pypi/ckanext-envvars。如果链接不起作用,那么 您可以按照以下步骤第一次在pypi上注册项目 步骤:
创建项目的源分发版:
python setup.py sdist
注册项目:
python setup.py register
将源分发上载到pypi:
python setup.py sdist upload
在github上标记项目的第一个版本,版本号为 setup.py文件。例如,setup.py中的版本号是 0.0.1然后执行:
git tag 0.0.1 git push --tags
发布新版本的ckanext envvars
ckanext envvars在pypi上可用作https://pypi.python.org/pypi/ckanext-envvars。 要将新版本发布到pypi,请执行以下步骤:
更新setup.py文件中的版本号。 见PEP 440 如何选择版本号。
创建新版本的源发行版:
python setup.py sdist
将源分发上载到pypi:
python setup.py sdist upload
在github上标记项目的新版本,版本号为 setup.py文件。例如,setup.py中的版本号是 0.0.2然后执行:
git tag 0.0.2 git push --tags