Distributing Ruby (not Rails) Applications

Hello! I have a question about what method you would recommend for distributing a system (application, set of applications, scripts, batch files) that is built using Ruby. We have a system that uses a lot of Ruby scripts and batch files that run in response to triggers and or on schedule. So far, we normally do deployments just by copying the files to the computer/ server.

I'm curious what would be a better way (and as a more advanced question) is there a recommended directory structure.

We are primarily using Windows but descriptions in general on any platform are fine - we can map that knowledge to our setup.

Thanks & Best Regards,
Mohit.

Hi.

You can use RubyGems (https://rubygems.org/) to distribute Ruby
applications, scripts. You can use the recommended directory structure of
the *bundler*. You can get this structure by running this command: `bundle
gem <new-gem-name>`.

Regards.

Mohit Sindhwani <mo_mail@onghu.com>, 19 Haz 2020 Cum, 10:29 tarihinde şunu
yazdı:

···

Hello! I have a question about what method you would recommend for
distributing a system (application, set of applications, scripts, batch
files) that is built using Ruby. We have a system that uses a lot of Ruby
scripts and batch files that run in response to triggers and or on
schedule. So far, we normally do deployments just by copying the files to
the computer/ server.

I'm curious what would be a better way (and as a more advanced question)
is there a recommended directory structure.

We are primarily using Windows but descriptions in general on any platform
are fine - we can map that knowledge to our setup.

Thanks & Best Regards,
Mohit.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

--

Thanks Ismail. I do understand Gems and their use. My question was probably related to this being a system with its own config, batch utils, jobs, etc. I guess a gem is one way but I was wondering if there was some other way that packaged a full system with a bunch of directories, log files (and log directories), etc.

Maybe, I'm thinking something that is a bit more like a rails app that you create which has its own structure and while it uses Ruby gems for Rails and dependencies, it also has its own structure for your app - which has your application code. I am thinking of a system which is Ruby based, isn't a web system but might have components similar to a Rails app.

Perhaps, the problem I am facing in explaining it is the reason why I'm struggling also with the right kind of Google search :slight_smile:

Best Regards,
Mohit.
2020-6-20 | 10:08 pm.

···

On 2020-6-19 4:51 pm, İsmail Arılık wrote:

Hi.

You can use RubyGems (https://rubygems.org/) to distribute Ruby applications, scripts. You can use the recommended directory structure of the /bundler/. You can get this structure by running this command: `bundle gem <new-gem-name>`.

Hi -

Have you considered capistrano? While it is commonly used for rails
deploys, I’m pretty sure it can also be used standalone.

https://capistranorb.com

Best,
Michael

···

On Sat, Jun 20, 2020 at 10:13 AM Mohit Sindhwani <mo_mail@onghu.com> wrote:

On 2020-6-19 4:51 pm, İsmail Arılık wrote:

Hi.

You can use RubyGems (https://rubygems.org/) to distribute Ruby
applications, scripts. You can use the recommended directory structure of
the *bundler*. You can get this structure by running this command:
`bundle gem <new-gem-name>`.

Thanks Ismail. I do understand Gems and their use. My question was
probably related to this being a system with its own config, batch utils,
jobs, etc. I guess a gem is one way but I was wondering if there was some
other way that packaged a full system with a bunch of directories, log
files (and log directories), etc.

Maybe, I'm thinking something that is a bit more like a rails app that you
create which has its own structure and while it uses Ruby gems for Rails
and dependencies, it also has its own structure for your app - which has
your application code. I am thinking of a system which is Ruby based, isn't
a web system but might have components similar to a Rails app.

Perhaps, the problem I am facing in explaining it is the reason why I'm
struggling also with the right kind of Google search :slight_smile:

Best Regards,
Mohit.
2020-6-20 | 10:08 pm.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

Thanks Micheal,

That's a good idea! I had not thought about that for deploys. I was also thinking of something like Chef/ Puppet. Based on talking aloud, I think using something like a Rails structure might also be a way to package the whole system and then do deploys with something like Capistrano/ Chef/ Puppet.

Best Regards,
Mohit.

···

On 2020-6-20 10:19 pm, Michael Bostler wrote:

Hi -

Have you considered capistrano? While it is commonly used for rails deploys, I’m pretty sure it can also be used standalone.

https://capistranorb.com

Best,
Michael

Have you considered chef/omnibus? GitHub - chef/omnibus: Easily create full-stack installers for your project across a variety of platforms.

···

On Sat, Jun 20, 2020, 09:45 Mohit Sindhwani <mo_mail@onghu.com> wrote:

On 2020-6-20 10:19 pm, Michael Bostler wrote:
> Hi -
>
> Have you considered capistrano? While it is commonly used for rails
> deploys, I’m pretty sure it can also be used standalone.
>
> https://capistranorb.com
>
> Best,
> Michael

Thanks Micheal,

That's a good idea! I had not thought about that for deploys. I was also
thinking of something like Chef/ Puppet. Based on talking aloud, I think
using something like a Rails structure might also be a way to package
the whole system and then do deploys with something like Capistrano/
Chef/ Puppet.

Best Regards,
Mohit.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

Thank you! This seems very interesting - I need to check this out :slight_smile:

Best Regards,
Mohit.
2020-6-25 | 9:33 pm.

···

On 2020-6-21 1:47 am, Mo K wrote:

Have you considered chef/omnibus? GitHub - chef/omnibus: Easily create full-stack installers for your project across a variety of platforms.