**GitLab shell will always use your system ruby (normally located at /usr/bin/ruby) and will not use the ruby your installed with a ruby version manager (such as RVM).**
GitLab Shell is written in Go, and needs a Go compiler to build. It still requires
It requires ruby 2.0 or higher.
Ruby to build and test, but not to run.
Please uninstall any old ruby versions from your system:
```
Download and install the current version of Go from https://golang.org/dl/
sudo apt-get remove ruby1.8
```
Download Ruby and compile it with:
```
mkdir /tmp/ruby && cd /tmp/ruby
curl -L --progress http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz | tar xz
cd ruby-2.1.5
./configure --disable-install-rdoc
make
sudo make install
```
To install gitlab-shell you also need a Go compiler version 1.8 or newer. https://golang.org/dl/
## Setup
## Setup
...
@@ -78,59 +62,25 @@ Checks if GitLab API access and redis via internal API can be reached:
...
@@ -78,59 +62,25 @@ Checks if GitLab API access and redis via internal API can be reached:
## Testing
## Testing
Run Ruby and Golang tests:
Run tests:
bundle install
make test
make test
Run Rubocop and gofmt:
Run gofmt and rubocop:
bundle install
make verify
make verify
Run both test and verify (the default Makefile target):
Run both test and verify (the default Makefile target):
bundle install
make validate
make validate
## Git LFS remark
## Git LFS remark
Starting with GitLab 8.12, GitLab supports Git LFS authentication through SSH.
Starting with GitLab 8.12, GitLab supports Git LFS authentication through SSH.
## Migration to Go feature flags
We are starting to migrate some features from Ruby to Go. To be able to do this
incrementally, we hide the Go implementation behind a feature flag.
To enable a feature, modify `migration` option in `config.yml` and ensure `enabled`
is set to `true` and feature to be enabled is added to `features`.
It should look something like this:
```yaml
migration:
enabled:true
features:['discover']
```
Here are the following features that can be enabled:
-`discover`
-`2fa_recovery_codes`
### Configuring using Omnibus
If you're using Omnibus, these features can be enabled by adding something like this to `gitlab.rb`: