har*_*ryw 6 cookbook chef-infra flask gunicorn test-kitchen
我正在尝试开发一本食谱,使一个烧瓶应用程序与gunicorn和nginx一起工作.我已经成功到应用程序运行良好的本地sqlite数据库,请参阅我的食谱https://github.com/harrywang/flasky-cookbook.烧瓶应用程序使用环境变量发送电子邮件,例如:MAIL_USERNAME = os.environ.get('MAIL_USERNAME'),如何在厨房汇聚期间使用测试厨房将这些环境变量传递给ubuntu虚拟机?
cod*_*ger 15
您可以在以下位置使用Erb格式.kitchen.yml:
provisioner:
name: chef-solo
attributes:
mycookbook:
mail_username: <%= ENV['MAIL_USERNAME'] %>
Run Code Online (Sandbox Code Playgroud)
然后node['mycookbook']['mail_username']在您的配方中使用将值传递给应用程序.
zua*_*azo -3
无法使用.kitchen.yml配置文件传递环境变量(请参阅test-kitchen/test-kitchen#662问题)。
我建议您使用以下参数在gunicorn.conf.erb模板中设置环境变量--env:
exec gunicorn --env SECRET_KEY=<%= @secret_key %> --env [...] --workers 3 --bind unix:<%= node['flasky-cookbook']['gunicorn_socket'] %> -m 007 --log-file <%= node['flasky-cookbook']['gunicorn_logfile']%> manage:app
Run Code Online (Sandbox Code Playgroud)