使用Vagrant和chef-solo的用户设置MySQL数据库

Tho*_*mas 17 chef-infra vagrant

我正在尝试自动化项目上的开发人员设置,这样新开发人员可以简单地发布vagrant up一个带有MySQL和Tomcat的VM,并部署并运行自定义war文件.部署战争假定MySQL实例上存在特定的数据库和用户.

现在,我正在使用厨师独奏,一切正在启动并正确安装.但是,我似乎无法弄清楚如何编写用于设置数据库和用户的食谱.我查看了这database本食谱,但这似乎不适合我的厨师独奏用例.我一直无法在网上找到为厨师独奏实例建立数据库的示例设置,但也许我正在搜索错误的条款?

我可以编写一个bash脚本来设置数据库和用户(条件是它们不存在),但这似乎不符合cookbook的理念.你会如何解决这个问题?

Mat*_*s B 20

是的,你可以像database烹饪书那样用厨师的方式做到这一点:

include_recipe "database::mysql"

# create a mysql database
mysql_database 'sonar' do
  connection ({:host => "localhost", :username => 'root', :password => node['mysql']['server_root_password']})
  action :create
end
Run Code Online (Sandbox Code Playgroud)

有关这本食谱的更多信息,请访问:http://community.opscode.com/cookbooks/database


Vis*_*ani 3

对于 Chef 独奏,你需要做一些配置,你做到了吗?我正在讨论的配置在这里同一页面还提供了如何配置和运行说明书的快速小演示,之后您可以:

MySQL 的食谱在这里 Tomcat 的食谱在这里

其他食谱可以在这里找到

根据您提供的数据,这是我能得到的最接近的结果。配置完此内容并设置好内容后,如果遇到错误,请将其发布。希望我能有所帮助:)

我会首先配置 Chef Solo,然后将 Cookbooks 放置在已配置的目录之一中。