我試圖使用github webhooks和capistrano實現持續部署例程。當通過github webhook執行capistrano部署shell腳本失敗
我的計劃是將我的capistrano rake任務放在一個shell腳本中,並從另一個rails項目(這是github webhook)的控制器操作中調用它。
這裏是shell腳本(wallet_deploy.sh)
#!/bin/bash
cd $HOME/work/wallet
bundle exec cap production deploy > wallet_deploy_log 2>&1
這裏是日誌
/home/deploy/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:304:in `block in replace_gem': capistrano is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
from /home/deploy/.rbenv/versions/2.2.4/bin/cap:22:in `<main>'
這裏是控制器動作
def release_request
system("./wallet_deploy.sh")
#DeployWorker.perform_async // tried using a worker too with no success
render :text => params.to_s
end
章部署完美的作品時,我在shell中手動執行它
[email protected]:~/apps/ci/current$ ./wallet_deploy.sh
不知道我在做什麼錯,是否有不同的方法來實現這個?
謝謝!它的工作 –
@SharnJayantha你可以標記答案爲接受,然後呢?謝謝 –