¿Cómo convierto los siguientes comandos de shell en una receta de chef?
-
28-10-2019 - |
Pregunta
¿Cómo convierto los siguientes comandos de shell en una receta de chef?
Instalar
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
Creación de un archivo adentro para Nginx
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;"
Reiniciar la VM
sudo shutdown -r now
Verificar Nginx Running
sudo initctl list | grep nginx
Solución
Esta no es necesariamente la manera perfecta de hacer esto, pero debería funcionar (tenga en cuenta que no he probado).
En sus metadatos para su libro de cocina, primero asegúrese de tener esto:
depends "python"
Entonces tu receta puede verse así:
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
La mayor parte de esta información debería ser bastante accesible desde los Docios del Chef, por cierto.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow