2012-06-21 14 views
17

Bir projede geliştirici kurulumunu otomatikleştirmeye çalışıyorum, öyle ki yeni bir geliştirici, MySQL ve Tomcat ile bir VM'yi özel olarak almak için vagrant up yayınlayabilir Savaş dosyası dağıtıldı ve çalışıyordu. Dağıtılan savaş, belirli bir veritabanının ve kullanıcının MySQL örneğinde bulunduğunu varsayar.Vagrant ve şef-solo ile bir kullanıcı ile bir MySQL veritabanı kurma

Şimdi, şef-solo kullanıyorum ve her şey önyükleme ve doğru şekilde takılıyor. Bununla birlikte, veritabanını ve kullanıcıyı kurmak için bir yemek kitabı yazmanın nasıl olduğunu anlayamıyorum. Ben database yemek kitabına baktım ama bu benim kullanım davamı şef-solo ile uymuyor gibi görünüyor. Bir şef-solo örneği için bir veritabanı oluşturan bir örnek kurulumunu bulamıyorum, ancak belki yanlış terimleri araştırıyorum?

Veritabanını ve kullanıcıyı ayarlamak için bir bash komut dosyası yazabilirim (bunlara bağlı değildir), ancak bu yemek kitabı felsefesine sığmıyor gibi görünüyor. Bu problemi nasıl çözersiniz?

cevap

3

Chef solo için bazı yapılandırmalar yapmanız gerekecek mi? MySQL için

Cookbook olduğunu here Tomcat Cookbook Diğer here

edilir: bahsediyorum ben Yapılandırmaları Aynı sayfa yapılandırmak ve bu tarihten sonra bir yemek kitabı, çalıştırma hızlı bir küçük demo sağlar here vardır yemek kitapları here

Bulabileceğiniz verilere dayanarak bulabildiğim en yakın yoldur. Bunu yapılandırdıktan ve ayarları kurduktan sonra, hatalarla karşılaşırsanız, yayınlayın. Ve umarım yardımcı olurdum.

Önce Chef Solo'yu yapılandıracağım ve Cookbook'ları yapılandırılmış dizinlerden birine yerleştireceğim.

+0

Zaten tam şef-yalnız kurulum hangi tomcat'ı yükler, savaşımı kopyalar, MySQL'i kurar. Şu anda, veritabanı oluşturmak için sadece bash kullanan özel bir yemek kitabı hazırladım, ama özel bir kullanıcı ayarlamak için bash kullanmakta tereddüt ediyorum. veritabanını oluşturmak için yazılmıştır: bash "Veritabanını oluşturmaya çalış" foo '" code << - EOM mysql -uroot -e 'yoksa veritabanı oluştur' EOM – Thomas

+0

Evet, ancak Şef web sitesinden tarifleri indirirseniz, onlar ruby ​​komut dosyaları olacaktır. Yoksa başka bir şey mi arıyorsunuz? –

+0

MySQL ve arkadaşlarla bir görüntü oluşturmak için ihtiyacım olan tüm tariflere sahibim. Sorunum daha sonra MySQL'i yapılandırıyor. Sunucuya bir kullanıcı ve veritabanı eklemem gerekiyor. Bunu yapmak için kendi reçetemi nasıl yazacağımı biliyorum, buhranın etrafında hacklemek, ama bu bunu yapmanın deyimsel bir yolu gibi görünmüyor. Kullanım durumumun çözümü için "veritabanı" reçetesinin şef-solo için kullanılıp kullanılamayacağını anlamaya çalışıyorum. Korkarım ki orijinal sorum yeterince açık değildi. bu mantıklı mı? – Thomas

20

Evet sen database yemek kitabı ile sadece bu gibi o şef şekilde yapabilirsiniz:

bu yemek kitabı hakkında
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 

daha burada bulunabilir: http://community.opscode.com/cookbooks/database

İlgili konular