GitLab is the most fully featured open source application to manage git repositories. However, historically it was not easy to install and update GitLab. Installing it required copy-pasting commands from a long guide. The guide actually worked but it was 10 pages long. In spite of this GitLab has become the most popular solution for on premise installations with 50,000 organizations using it. To grow even faster we needed to simplify the update and installations processes. So in GitLab 6.4 we made sure that upgrading is now only a single command. Today we can announce that installing GitLab is also greatly simplified.
You now have three new options to install GitLab: an official GitLab Chef cookbook, GitLab Packer virtual machines and GitLab Omnibus packages.
The official GitLab Chef cookbook is the most flexible option. It supports both development and production environments and both Ubuntu and RHEL/CentOS operating systems. You can install it with Chef Solo, a Chef server or with Vagrant. It supports MySQL and PostgreSQL databases, both in the same server as external ones. The cookbook is well tested with ChefSpec. For cloud fans there even is a version that runs on AWS Opsworks.
If you want to quickly spin up a production GitLab server you can also use a virtual machine image with GitLab preinstalled. The downloads page already has an Ubuntu 12.04 image and CentOS 6.5 will come soon. These are made with Packer and the source code to create your versions is available. Example configurations for Digital Ocean and AWS are included. These images are created with the official Chef cookbook mentioned earlier.
Last but not least are the two GitLab Omnibus packages. A deb package for Ubuntu 12.04 LTS and a RPM package for CentOS 6 can be found on the downloads page. These are packages of the GitLab 6.6.0.pre and should not be used on production machines. When GitLab 6.6 is stable we will update the packages and link them in the GitLab readme. Even when stable these packages currently support a reduced selection of GitLab's normal features. It is not yet possible to create/restore application backups or to use HTTPS, for instance. But it is a start and we look forward to improving them together with the rest of the GitLab community. Creating these package has been our dream for a long time. GitLab has a lot of dependencies which means that native packages would require packaging hundreds of gems. To solve this we used omnibus-ruby that Chef Inc. uses to package Chef and Chef Server. Based on omnibus-chef-server we made omnibus-gitlab that you can use to create your own package. So now you can finally install GitLab with:
apt-get install -y openssh-server postfix dpkg -i gitlab_6.6.0-pre1.omnibus.2-1.ubuntu.12.04_amd64.deb gitlab-ctl reconfigure
Like any active project there are still many way to improve the GitLab Chef cookbook, the GitLab Packer virtual machines and GitLab Omnibus packages so we welcome your help. We would like to thank the awesome GitLab community and the GitLab subscribers for their support. Of course, all previous installation options will continue to be available. Please join the celebration in the comments and let us know if you have any questions.