What are advantages of using a source code method (of Installation) over Omni Bus method

Hi

What are advantages of using a source code method (of Installation) over Omni-bus method.
Thanks in advance.

  • Supported platforms. Omnibus only works for very few (two, iirc) platforms, while source installation works for any number.

  • Can re-use existing tools more easily. Like re-use existing installations of postgres, nginx, etc, rather than it’s own instances.

1 Like

Unless you are customizing the application code itself, there are no advantages to running from source (if you are on one of the Omnibus supported platforms).

In fact, I would say that of having to do Gitlab updates manually is quite a disadvantage - I run a number of Gitlab servers, two of which predate the Omnibus installer. One of those has since been updated to use Omnibus, and the time required to do Gitlab updates is now a fraction of what it used to be. Updating the one which is still installed from source takes a long time, which is why we often skip versions on it. In contrast, all of the ones on Omnibus are always up to date.

There are currently 7 supported Omnibus platform families:

  • Ubuntu 12.04
  • Ubuntu 14.04
  • Debian 7
  • Debian 8
  • CentOS 6 (also covers Redhat Enterprise, Oracle Linux, and Scientific Linux 6)
  • CentOS 7 (also covers Redhat Enterprise, Oracle Linux, and Scientific Linux 7)
  • Rasbian on Raspberry Pi 2

It’s actually quite easy to reuse existing Postgres and Nginx with the Omnibus package. I’m doing it on two servers. All you need to do is put the appropriate directives in the config file. Here are the relevant pieces from mine:

postgresql['enable'] = false
postgresql['unix_socket_directory'] = '/var/run/postgresql'
postgresql['username'] = 'postgres'
gitlab_rails['db_host'] = '/var/run/postgresql'

web_server['external_users'] = ['nginx']
nginx['enable'] = false
2 Likes

Thanks you for your comments. @hobarrera & @kohenkatz