2012-06-21 15 views
17

Sto cercando di automatizzare la configurazione dello sviluppatore su un progetto, in modo che un nuovo sviluppatore possa semplicemente emettere vagrant up per ottenere una macchina virtuale con MySQL e Tomcat con un'abitudine file di guerra implementato e funzionante. La guerra distribuita presuppone che un particolare database e utente siano presenti nell'istanza MySQL.Impostazione di un database MySQL con un utente con Vagrant e chef-solo

Ora, sto usando chef-solo, e tutto è in fase di avvio e installazione corretta. Tuttavia, non riesco a capire come scrivere un libro di cucina per l'impostazione del database e dell'utente. Ho esaminato il ricettario database, ma questo non sembra adattarsi al mio caso d'uso con lo chef-assolo. Non sono stato in grado di trovare una configurazione di esempio online che imposta un database per un'istanza di chef-solo, ma forse sto cercando i termini sbagliati?

Potrei scrivere uno script di bash per l'impostazione del database e dell'utente (a condizione che non siano esistenti), ma non sembra rientrare nella filosofia del libro di cucina. Come risolveresti questo problema?

risposta

3

Per Chef solo dovrai fare alcune configurazioni hai fatto? Configurazioni di cui sto parlando sono here La stessa pagina fornisce anche un piccolo demo rapida di come configurare ed eseguire un libro di cucina, dopo di che è possibile:

Cookbook per MySQL è here Cookbook per Tomcat è here

Altro libri di cucina possono essere trovati here

Questo è il più vicino possibile in base ai dati forniti. Dopo aver configurato questa impostazione e configurato, se si riscontrano errori, pubblicarli. E spero di essere stato utile :)

Configurerei prima Chef Solo e poi metterei libri di cucina in una delle directory configurate.

+0

ho già una configurazione completa cuoco-solo che installa tomcat, copia la mia guerra, installa MySQL ecc. Attualmente, ho creato un libro di cucina personalizzato che usa bash per creare il database, ma sono riluttante ad usare bash per configurare un utente personalizzato ecc. Ecco la ricetta corrente I Ho scritto per creare il database: bash "Tentativo di creare un database 'foo'" fare codice << - EOM mysql -uroot -e 'crea un database se non esiste foo' EOM – Thomas

+0

Sì, ma se si scaricano le ricette dal sito Web di Chef, saranno script di ruby. O stai cercando qualcos'altro? –

+0

Ho tutte le ricette che mi servono per creare un'immagine con MySQL e gli amici. Il mio problema è la successiva configurazione di MySQL. Devo aggiungere un utente e un database al server. So come scrivere la mia ricetta per farlo, hackerando in giro, ma questo non sembra essere un modo idiomatico di farlo. Sto cercando di capire se la ricetta del 'database' può essere usata da chef-solo per risolvere il mio caso d'uso. Ho paura che la mia domanda iniziale non fosse abbastanza chiara. Ha senso? – Thomas

20

Sì è possibile farlo nel modo Chef proprio come questo con il database libro di cucina:

più
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 

su questo libro di cucina può essere trovato qui: http://community.opscode.com/cookbooks/database

Problemi correlati