Capistrano runs locally, you can script commands to replace your script, or upload it. On 13 Sep 2015 4:09 pm, "José Sá" <sa.j...@gmail.com> wrote:
> Hummm I see, > > I was hoping to precisely get rid of helper scripts in order to deploy. I > was hoping to be able to write a few helper methods in ruby that could be > run directly in the remote host. But I guess that is limited with > "oneliner" shell commands. > > José > > On Friday, September 11, 2015 at 9:13:38 PM UTC+2, Lee Hambley wrote: >> >> Hi Jose, >> >> It's not clear from your post whether you're loading the `rails/all` (or >> maybe just `rails/migrations`, but I'll answer under the assumption that >> you're not, and that if you are, whatever they do to your database servers >> (run migrations) is not a problem. >> >> Assuming that you can convert your script to Ruby, or run it still via >> Bash, probably Ruby would be more robust, anyway, >> http://www.shellcheck.net/ is a decent tool to run your Bash script >> through, if sticking with Bash. Both will work. >> >> # >> https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#upload-a-file-from-disk >> >> task :fixitup do >> on roles(:db) do |host| >> upload! './my-local-script.rb', './my-script.rb' >> execute :ruby, "./my-script.rb" >> end >> end >> >> # http://capistranorb.com/documentation/getting-started/before-after/ >> # http://capistranorb.com/documentation/getting-started/flow/ >> after "deploy:starting", "fixitup" >> >> >> Lee Hambley >> http://lee.hambley.name/ >> +49 (0) 170 298 5667 >> >> On 11 September 2015 at 18:54, José Sá <sa....@gmail.com> wrote: >> >>> Hi all, >>> >>> >>> i'm trying to create a custom deploy script but having some trouble in >>> some aspects: >>> >>> 1. I want to deploy the servers with role DB before starting to run >>> other servers. So: >>> Start deploy >>> - Run deploy sequence in the the servers with the specific role, >>> - When finished start the other servers >>> >>> This scenario doesn't seem to be covered natively. >>> >>> 2. I need to perform some complex file manipulation on the remote server >>> as part of the deployment process. >>> Currently I have a bash script that does this but I would prefer to have >>> the whole deployment script inside Capistrano rules instead of calling >>> external scripts. >>> >>> I can convert it into ruby (is mostly reading a bunch of files and use >>> sed to generate a new one), so I would like to know the best practise here. >>> >>> Call invoke with a multiline script? >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Capistrano" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to capistrano+...@googlegroups.com. >>> To view this discussion on the web, visit >>> https://groups.google.com/d/msgid/capistrano/a3272533-6f1f-4386-9aa2-f858bf376bec%40googlegroups.com >>> <https://groups.google.com/d/msgid/capistrano/a3272533-6f1f-4386-9aa2-f858bf376bec%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "Capistrano" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to capistrano+unsubscr...@googlegroups.com. > To view this discussion on the web, visit > https://groups.google.com/d/msgid/capistrano/276f8bc4-d956-43a3-8be9-6929a37afeb7%40googlegroups.com > <https://groups.google.com/d/msgid/capistrano/276f8bc4-d956-43a3-8be9-6929a37afeb7%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Capistrano" group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/CAN_%2BVLWXy5%3DaEzZZNBrXSKuknzeAd4gg2y%2BnAs5BaJo5Bp3%2BPw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.