Commit 12472b7b authored by Marin Jankovski's avatar Marin Jankovski

Merge branch 'metal-dev-hints' into 'master'

Metal dev hints
parents 095ac76f f83a482a
# GitLab Vagrant virtual machine
*NOTE* Development with Vagrant virtual machine has been deprecated. The old setup guide has [been moved here](doc/ but we strongly recommend that it is not used as it is *deprecated*.
*NOTE* Development with Vagrant virtual machine has been deprecated. The old setup guide has [been moved here](doc/ but we strongly recommend that it is not used as it is extremely slow and error prone.
# GitLab Metal development setup
To develop GitLab, it is recommended to install a development GitLab on metal. This is much faster than any VM-based setup, but has as disadvantage that you might have to deal with anything that is already on your system.
There is also an option of setting up a dedicated OS for GitLab, see [the directions here](doc/
This guide is tested and confirmed working on:
- Tested and confirmed working on Ubuntu 13.10
* Ubuntu 13.10
* Please send merge request to add other OS's you've tested it on.
*Please read the whole document before starting the setup.*
*Please read the whole document including the troubleshooting and limitations section before starting the setup.*
The installation process is almost the same as a [production install using Chef](
You use the same `/tmp/solo.rb` as mentioned in the production install.
......@@ -51,6 +53,7 @@ cat > /tmp/solo.json << EOF
Add the required development tools for your operating system:
distro="$(cat /etc/issue | awk ''NR==1'{ print $1 }')"
......@@ -69,7 +72,7 @@ case "$distro" in
Next run:
Run the cookbook:
cd /tmp
......@@ -85,7 +88,7 @@ EOF
sudo chef-solo -c /tmp/solo.rb -j /tmp/solo.json
After installing please do:
After installing the cookbook please remove autostarting:
sudo update-rc.d gitlab disable
......@@ -96,7 +99,7 @@ and follow [the readme instructions to run it in development mode](https://gitla
*Note* SSH push won't work on metal setup but you can still clone and push by using `http`.
# Troubleshooting
# Troubleshooting and limitations
## PostgreSQL installation problems
### Development installation on metal (outside a Virtual Machine)
# Development installation on a Dedicated OS
Running Gitlab directly on your machine can make it run considerably faster than inside a virtual machine, possibly making non reasonable wait times (10 minutes to start a test) reasonable (1.5 minutes).
*It is possible and recommended to [develop GitLab on your existing OS](, if you do want to use a dedicated OS for development please use the guide below.*
#### Dedicated OS
# Introduction
The downside of installing a dedicated OS (possibly on the same HD as the existing one) is that it takes up a little time (~30 minutes if you know what your are doing) to install and disk space (30GB should be more than enough).
......@@ -12,7 +12,7 @@ Once you have installed your dedicated system and logged in, the installation pr
If you chose to use a dedicated OS, you have the following options of how to develop.
**Git user on the dedicated OS**
## Git user on the dedicated OS
The advantage of running as the `git` user is that it is very easy to start up the server and run tests. Just do:
......@@ -35,7 +35,7 @@ Using the `git` user has the following downsides:
One option is to use git to store your configurations + a script that symlinks files to your home folder,
such as done in [Zack Holam's dotfiles](
**Non-Git user on the dedicated OS**
## Non-Git user on the dedicated OS
The advantage of this option is that you can reuse your existing OS's `/home` folder by mounting it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment