Opsworks рецепт Баш не удалось

У меня проблема с этим рецептом

Chef::Log.info("***************** Deploying ***************")
bash "docker-cleanup" do
    user "root"
    returns [0, 1]
    code <<-EOH
        if docker ps | grep scheduler1;
        then
            docker stop scheduler1
            sleep 3
            docker rm scheduler1
        fi
        if docker ps -a | grep scheduler1;
        then
            docker rm scheduler1
        fi 
        if docker images | grep vouchdocker;
        then
            docker rmi $(sudo docker images | grep -m 1 vouchdocker | awk {'print $3'})
        fi
    EOH
end

Chef::Log.info('*********** Docker cleaned, pulling and running ****************')

bash "docker-login" do
    user "root"
    returns [0, 1]
    code <<-EOH
        docker login -u someuser -p somepassword
    EOH
end

bash "docker-run" do
    user "root"
    returns [0, 1]
    code <<-EOH
        docker run --name somename -p 6001:8001 -e ENV=_PRODUCTION  --restart always someregistery/someimage:latest
    EOH
end

Chef::Log.info('********** All set! ***************')

Рецепт работает отлично, за исключением того, что процесс застрял, похоже, он не завершен и где-то глохнет.

Он остается в состоянии "running_setup", кто-нибудь знает почему?

1 ответ

Оказывается, рецепт работает просто отлично, хотя процесс занял очень много времени, не знаю почему. Но тогда рецепт не удался, получается, потому что возвращает [0, 1], скрипт bash возвращает 2, изменяя его на [0, 1, 2], решает проблему. Спасибо!

Другие вопросы по тегам