xbuildについてはここを見る。
http://d.hatena.ne.jp/tagomoris/20130326/1364289705
https://github.com/tagomoris/xbuild
いままで基本的にVPSではPerlしか動かさない状態だったのでPerl-Buildしか使ってなかったのだけど、Rubyも動かすようになってきたので使い始めました。
# cookbooks/xbuild/recipes/default.rb user = node[:xbuild][:user] group = node[:xbuild][:group] versions = node[:xbuild][:versions] languages = versions.keys home_dir = "/home/#{user}" bin_dir = "#{home_dir}/xbuild" directory "#{bin_dir}" do owner user group group mode 0755 action :create end languages.each do |language| installer = "#{bin_dir}/#{language}-install" remote_file installer do source "https://raw.githubusercontent.com/tagomoris/xbuild/master/#{language}-install" owner user group group mode 0755 action :create_if_missing end bash "install #{language} by #{installer}" do local_dir = "#{home_dir}/local/#{language}-#{versions[language]}" user user group group code "export HOME=#{home_dir};#{installer} #{versions[language]} #{local_dir}" not_if { File.exists?("#{local_dir}/bin/#{language}") } end end
# cookbooks/xbuild/attributes/default.rb default[:xbuild] = {} default[:xbuild][:user] = "hisaichi5518" default[:xbuild][:group] = "wheel" default[:xbuild][:versions] = {ruby: "2.1.2", perl: "5.18.2"}
digitaloceanのcentos7で試した。
`user user` みたいなの動くのかなと思ったら動いたけど、やらないほうがいいと思った。
あとcpanmをインストールするところでHOME指定してないと/root/.cpanmに入れようとしてコケる。
まっさらな状態から試してみたけど、1回目こけて2回目で通った。1回目はrdocのところで死んでた。
もう一回試すの時間かかるからやめたのでよくわからない。
追記1: https://gist.github.com/kirs/7612293 調べたらこんな事書いてた。
追記2:http://hisaichi5518.hatenablog.jp/entry/2014/07/21/151341 まとめた。
perlとrubyをいれた。gcc, bzip2がないとダメみたい。
スタジオさんがcookbook作ってたけど、自分にはchefで全部やる意味がよくわからなかったので使わなかった。
https://github.com/studio3104/chef-xbuild