2012-06-21 18 views
17

Estoy tratando de automatizar la configuración del desarrollador en un proyecto, de modo que un nuevo desarrollador simplemente puede emitir vagrant up para obtener una VM con MySQL y Tomcat con una personalizada war-file implementado en funcionamiento. La guerra desplegada supone que una base de datos y un usuario en particular están presentes en la instancia de MySQL.Configuración de una base de datos MySQL con un usuario con Vagrant y chef-solo

Ahora, estoy usando chef-solo, y todo se inicia y se instala correctamente. Sin embargo, parece que no puedo entender cómo escribir un libro de cocina para configurar la base de datos y el usuario. He consultado el libro de cocina database, pero eso no parece ajustarse a mi caso de uso con chef-solo. No he podido encontrar un ejemplo de configuración en línea que establezca una base de datos para una instancia de chef solo, pero ¿tal vez estoy buscando los términos incorrectos?

Podría escribir un script bash para configurar la base de datos y el usuario (con la condición de que no existan), pero eso no parece encajar en la filosofía del libro de cocina. Como resolverías este problema?

Respuesta

3

Para Chef solo, tendrá que hacer algunas configuraciones ¿lo ha hecho? Configuraciones estoy hablando son here La misma página también ofrece una pequeña demostración rápida de cómo configurar y ejecutar un libro de cocina, después de lo cual se puede:

Cookbook for MySQL es here libro de cocina para Tomcat se here

Otros libros de cocina se pueden encontrar here

Eso es lo más cerca que puedo llegar en función de los datos que ha proporcionado. Una vez que haya configurado esto y configurado las cosas, si enfrenta errores, publíquelos. Y afortunadamente fui útil :)

Primero configuraba Chef Solo y luego colocaba Cookbooks en uno de los directorios configurados.

+0

que ya tienen una configuración completa chef en solitario que instala Tomcat, copia mi guerra, instala MySQL, etc. Actualmente, he hecho un libro de cocina personalizado que usa bash para crear la base de datos, pero dudo en utilizar bash para configurar un usuario personalizado, etc. Aquí está la receta actual I He escrito para crear la base de datos: bash "Intentar crear la base de datos 'foo'" do Código<< - EOM mysql -uroot -e 'crear base de datos si no existe foo' EOM – Thomas

+0

Sí, pero si descarga las recetas del sitio web del Chef, serán guiones ruby. ¿O estás buscando algo más? –

+0

Tengo todas las recetas que necesito para configurar una imagen con MySQL y amigos. Mi problema es configurar MySQL luego. Necesito agregar un usuario y una base de datos al servidor. Sé cómo escribir mi propia receta para hacer esto, piratear en bash, pero esto no parece ser una manera idiomática de hacer esto. Estoy tratando de averiguar si la receta de la 'base de datos' puede usarse para chef-solo para resolver mi caso de uso. Me temo que mi pregunta original no era lo suficientemente clara. ¿Tiene sentido? – Thomas

20

Sí se puede hacer de la manera chef como este con el database libro de cocina:

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 

más sobre este libro de cocina se puede encontrar aquí: http://community.opscode.com/cookbooks/database

Cuestiones relacionadas