Aut*_*act 2 chef-infra chef-recipe vagrant
如何在厨师食谱中转换以下shell命令?
安装
sudo easy_install pygments
sudo echo 'export RAILS_ENV=production' >> ~/.bash_profile
sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git
ssh-keygen -t rsa
sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
echo "gem: --no-rdoc --no-ri" > ~/.gemrc
rvmsudo gem install passenger
rvmsudo passenger-install-nginx-module
Run Code Online (Sandbox Code Playgroud)
为nginx创建Upstart文件
sudo vim /etc/init/nginx.conf
description "Nginx HTTP Server"
start on filesystem
stop on runlevel [!2345]
respawn
exec /opt/nginx/sbin/nginx -g "daemon off;"
Run Code Online (Sandbox Code Playgroud)
重启虚拟机
sudo shutdown -r now
Run Code Online (Sandbox Code Playgroud)
验证nginx正在运行
sudo initctl list | grep nginx
Run Code Online (Sandbox Code Playgroud)
这不一定是完成此操作的完美方式,但它应该有效(注意我还没有测试过).
在您的食谱元数据中,首先要确保您拥有:
depends "python"
Run Code Online (Sandbox Code Playgroud)
然后你的食谱看起来像这样:
pip_package "pygments"
execute "echo 'export RAILS_ENV=production' >> ~/.bash_profile" do
not_if "grep RAILS_ENV ~/.bash_profile"
end
user "git" do
system True
end
execute "ssh-keygen -N '' -f ~/.ssh/id_rsa"
user "git"
not_if "test -f /home/git/.ssh/id_rsa"
end
execute "gitosis-init < ~/.ssh/id_rsa.pub && chmod 755 ~/repositories/gitosis-admin.git/hooks/postupdate"
#not sure how do check if this has been run, maybe this is right:
not_if "test -f /home/git/repositories/gitosis-admin.git/hooks/post-update"
end
gem_package "passenger" do
action :install
end
#Instead of creating your own upstart service, why not use the stock nginx config.
include_recipe "nginx"
execute "passenger-install-nginx-module" do
#I'm not familiar with this, so I don't know how to check if it's already been run.
notifies :restart, "service[nginx]"
end
Run Code Online (Sandbox Code Playgroud)
大多数这些信息应该可以从主厨docs,顺便说一下访问.
归档时间: |
|
查看次数: |
6546 次 |
最近记录: |