Повар останавливает и запускает обслуживание по очереди и хотел бы попросить другую процедуру.
Шаг 1.Загрузка фреймворка для службы jboss
bash "bootstrap application" do
code <<-EOF
ant bootstrap
EOF
end
Шаг 2: затем запустите jboss
service "jboss" do
action :start
end
Шаг 3: установите приложение
bash "install application" do
code <<-EOF
ant install
EOF
end
между шагами 2 и 3 ant install возвращает ошибку, потому что jboss еще не запущен. но удачно на втором заходе. очевидно, что шаг 3 не знает, запущен ли jboss.
как это сделать на шеф-поваре?
Наткнулся на это по ошибке, но похоже, что такая же проблема была у меня с rundeck ... ваша служба запускается, но не запускается?
Попробуйте проверить это
service "jboss" do
start_command 'service jboss start && sleep 30'
action :start
end
Для rundeck это был перезапуск, с которым у меня были проблемы, и я использовал curl, чтобы проверить его, пока он не был запущен.
service 'rundeckd' do
restart_command 'service rundeckd restart && RETRIES=0 && until curl localhost:4440 || [ $RETRIES -eq 30 ]; do (( RETRIES++ )); sleep 5; done'
action :start
end
`` ''
Использовать подписка на ресурсы для поддержания порядка исполнения.
Использовать retries
чтобы убедиться, что установка приложения работает, и вы можете запустить ресурс bash[install application]
в конце повар пробегает через subscribes :run, "service[jboss]", :delayed
bash "install application" do
code <<-EOF
ant install
EOF
action :nothing
retries 3
subscribes :run, "service[jboss]", :delayed
end