Я не гуру Chef (я обычно использую Puppet), но попробуйте следующее:
Взять код из git
Вы можете выполнить команду wget (см. примеры ниже).
Если вам нужно что-то более сложное, см. http://docs.opscode.com/resource_deploy.html.
deploy_revision "/path/to/application" do
repo 'ssh://name-of-git-repo/repos/repo.git'
migrate false
purge_before_symlink %w{one two folder/three}
create_dirs_before_symlink []
symlinks(
"one" => "one",
"two" => "two",
"three" => "folder/three"
)
before_restart do
# some Ruby code
end
notifies :restart, "service[foo]"
notifies :restart, "service[bar]"
end
Загрузите composer.phar с сайта getcomposer.com.
Я бы выполнил wget.
Я взял код отсюда: http://cookingclouds.com/2012/06/23/chef-simple-cookbook-example/
По сути, это просто выполнение wget в определенной папке, извлечение содержимого tar и обновление некоторых разрешений для новых файлов. Это делается только в том случае, если папка еще не существует.
# Run a bash shell - download and extract composer
bash "install_composer" do
user "root"
cwd "/folder/to/extact/to"
code <<-EOH
wget http://getcomposer.com/composer.tar.gz
tar -xzf composer.tar.gz
chown -R user:group /folder/to/extact/to
EOH
not_if "test -d /folder/to/extact/to"
end
Запустите установку php composer.phar
http://docs.opscode.com/resource_execute.html
execute "composer install" do
command "php composer.phar install && touch /var/log/.php_composer_installed"
creates "/var/log/.php_composer_installed"
action :run
end
Это запустит его только один раз, в противном случае вы можете удалить «создает», и он будет запускаться каждый раз.
Изменить разрешения на несколько конкретных папок
http://docs.opscode.com/resource.html
directory "/tmp/folder" do
owner "root"
group "root"
mode 0755
action :create
end
Если каталог уже существует, ничего не произойдет. Если каталог был каким-либо образом изменен, ресурс помечается как обновленный.
Окончательно
Я нахожу поиск удобным, просмотр материала на сайте Chef кажется безнадежным (слишком много материала, чтобы копаться). http://docs.opscode.com/search.html
person
Drew Khoury
schedule
01.05.2013