2013-03-02 06:53:27 -05:00
## GitLab: self hosted Git management software
2013-02-27 11:09:48 -05:00
2013-02-27 14:05:57 -05:00
![logo ](https://raw.github.com/gitlabhq/gitlabhq/master/public/gitlab_logo.png )
2013-02-27 11:09:48 -05:00
2013-03-02 06:53:27 -05:00
### GitLab allows you to
* keep your code secure on your own server
* manage repositories, users and access permissions
2013-03-06 20:06:56 -05:00
* communicate through issues, line-comments and wiki pages
* perform code review with merge requests
2013-03-02 06:53:27 -05:00
### GitLab is
2013-02-27 14:05:57 -05:00
2013-03-02 06:53:27 -05:00
* powered by Ruby on Rails
* completely free and open source (MIT license)
2013-03-30 06:35:35 -04:00
* used by more than 10.000 organizations to keep their code secure
2013-02-27 14:05:57 -05:00
2013-03-02 06:53:27 -05:00
### Code status
2011-11-15 09:41:33 -05:00
2013-05-15 11:35:00 -04:00
* [![build status ](http://ci.gitlab.org/projects/1/status.png?ref=master )](http://ci.gitlab.org/projects/1?ref=master) on ci.gitlab.org (master branch)
2011-11-15 09:41:33 -05:00
2013-05-15 11:35:00 -04:00
* [![build status ](https://secure.travis-ci.org/gitlabhq/gitlabhq.png )](https://travis-ci.org/gitlabhq/gitlabhq) on travis-ci.org (master branch)
2013-02-27 14:05:57 -05:00
2013-02-28 12:30:07 -05:00
* [![Code Climate ](https://codeclimate.com/github/gitlabhq/gitlabhq.png )](https://codeclimate.com/github/gitlabhq/gitlabhq)
2013-03-02 06:53:27 -05:00
2013-05-15 11:35:00 -04:00
* [![Dependency Status ](https://gemnasium.com/gitlabhq/gitlabhq.png )](https://gemnasium.com/gitlabhq/gitlabhq) this button can be yellow (small updates are available) but must not be red (a security fix or an important update is available)
2011-11-25 17:30:51 -05:00
2013-03-10 14:29:34 -04:00
* [![Coverage Status ](https://coveralls.io/repos/gitlabhq/gitlabhq/badge.png?branch=master )](https://coveralls.io/r/gitlabhq/gitlabhq)
2013-03-02 06:53:27 -05:00
### Resources
2011-11-15 09:41:33 -05:00
2013-05-27 03:32:58 -04:00
* GitLab.org community site: [Homepage ](http://gitlab.org ) | [Screenshots ](http://gitlab.org/screenshots/ ) | [Blog ](http://blog.gitlab.org/ ) | [Demo ](http://demo.gitlabhq.com/users/sign_in )
2013-03-02 06:53:27 -05:00
2013-05-27 03:32:58 -04:00
* GitLab.com commercial services: [Homepage ](http://www.gitlab.com/ ) | [Subscription ](http://www.gitlab.com/subscription/ ) | [Consultancy ](http://www.gitlab.com/consultancy/ ) | [GitLab Cloud ](http://www.gitlab.com/cloud/ ) | [Blog ](http://blog.gitlab.com/ )
2013-03-02 06:53:27 -05:00
* GitLab CI: [Readme ](https://github.com/gitlabhq/gitlab-ci/blob/master/README.md ) of the GitLab open-source continuous integration server
2011-11-15 09:41:33 -05:00
2013-02-27 14:05:57 -05:00
### Requirements
2011-11-15 09:41:33 -05:00
2013-03-06 20:06:56 -05:00
* Ubuntu/Debian**
2013-03-12 08:16:55 -04:00
* ruby 1.9.3
2013-05-14 08:25:17 -04:00
* MySQL or PostgreSQL
2011-11-15 09:41:33 -05:00
* git
2013-02-27 11:09:48 -05:00
* gitlab-shell
2012-01-02 15:34:49 -05:00
* redis
2011-11-15 09:41:33 -05:00
2013-05-27 03:32:58 -04:00
** More details are in the [requirements doc ](doc/install/requirements.md )
2013-03-02 06:53:27 -05:00
2013-03-02 17:27:52 -05:00
### Installation
2013-03-30 06:35:35 -04:00
#### Official production installation
2013-03-02 06:53:27 -05:00
2013-05-27 03:32:58 -04:00
* [Installation guide for a production server ](doc/install/installation.md )
2013-03-02 06:53:27 -05:00
2013-03-06 20:06:56 -05:00
2013-03-30 06:35:35 -04:00
#### Official development installation
If you want to contribute, please first read our [Contributing Guidelines ](https://github.com/gitlabhq/gitlabhq/blob/master/CONTRIBUTING.md ) and then we suggest you to use the Vagrant virtual machine project to get an environment working with all dependencies.
2013-03-06 20:06:56 -05:00
2013-05-01 03:26:40 -04:00
* [Vagrant virtual machine for development ](https://github.com/gitlabhq/gitlab-vagrant-vm )
2013-03-02 06:53:27 -05:00
2013-03-30 06:35:35 -04:00
#### Unsupported production installation
2013-03-23 16:20:09 -04:00
* [GitLab recipes ](https://github.com/gitlabhq/gitlab-recipes ) for setup on different platforms
* [Unofficial installation guides ](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Unofficial-Installation-Guides )
2013-03-30 06:35:35 -04:00
* [BitNami one-click installers ](http://bitnami.com/stack/gitlab )
2013-03-23 16:20:09 -04:00
2013-03-30 06:35:35 -04:00
* [TurnKey Linux virtual appliance ](http://www.turnkeylinux.org/gitlab )
2013-03-23 16:20:09 -04:00
2013-03-30 06:35:35 -04:00
### New versions and upgrading
2013-05-22 12:08:45 -04:00
Each month on the 22nd a new version is released together with an upgrade guide.
2013-03-30 06:35:35 -04:00
2013-05-27 03:32:58 -04:00
* [Upgrade guides ](doc/update )
2013-03-30 06:35:35 -04:00
2013-05-27 03:32:58 -04:00
* [Changelog ](CHANGELOG )
2013-03-30 06:35:35 -04:00
2013-04-03 03:00:01 -04:00
* Features that will be in the next release are listed on [the feedback and suggestions forum with the status "started" ](http://feedback.gitlab.com/forums/176466-general/status/796456 ).
2013-03-30 06:35:35 -04:00
2013-04-03 15:43:12 -04:00
### Run in production mode
2013-03-02 06:53:27 -05:00
2013-05-28 11:00:44 -04:00
The Installation guide contains instructions on how to download an init script and run it automatically on boot. You can also start the init script manually:
2013-03-02 06:53:27 -05:00
2013-05-28 11:00:44 -04:00
sudo service gitlab start
2013-03-02 06:53:27 -05:00
2013-05-28 11:00:44 -04:00
or by directly calling the script
2013-03-02 17:27:52 -05:00
2013-05-28 11:00:44 -04:00
sudo /etc/init.d/gitlab start
2013-03-02 17:27:52 -05:00
2013-04-03 15:43:12 -04:00
### Run in development mode
Start it with [Foreman ](https://github.com/ddollar/foreman )
2013-03-02 17:27:52 -05:00
2013-05-28 11:00:44 -04:00
bundle exec foreman start -p 3000
2013-03-02 17:27:52 -05:00
2013-05-28 11:00:44 -04:00
or start each component separately
2013-03-02 17:27:52 -05:00
2013-05-28 11:00:44 -04:00
bundle exec rails s
bundle exec rake sidekiq:start
2013-03-02 17:27:52 -05:00
2013-04-03 15:43:12 -04:00
### Run the tests
2013-03-02 17:27:52 -05:00
2013-03-06 20:06:56 -05:00
* Seed the database
2013-03-02 17:27:52 -05:00
2013-03-03 11:22:56 -05:00
bundle exec rake db:setup RAILS_ENV=test
bundle exec rake db:seed_fu RAILS_ENV=test
2013-03-02 17:27:52 -05:00
* Run all tests
2013-03-02 17:38:48 -05:00
2013-03-03 11:22:56 -05:00
bundle exec rake gitlab:test
2013-03-02 17:27:52 -05:00
2013-05-03 04:03:49 -04:00
* [RSpec ](http://rspec.info/ ) unit and functional tests
2013-03-02 17:38:48 -05:00
2013-06-12 04:00:05 -04:00
All RSpec tests: bundle exec rake spec
Single RSpec file: bundle exec rspec spec/controllers/commit_controller_spec.rb
2013-03-02 17:27:52 -05:00
2013-05-03 03:14:44 -04:00
* [Spinach ](https://github.com/codegram/spinach ) integration tests
2013-03-02 17:38:48 -05:00
2013-06-12 04:00:05 -04:00
All Spinach tests: bundle exec rake spinach
Single Spinach test: bundle exec spinach features/project/issues/milestones.feature
2013-03-02 06:53:27 -05:00
2013-03-30 06:35:35 -04:00
### GitLab interfaces
2013-03-02 06:53:27 -05:00
2013-05-27 03:32:58 -04:00
* [GitLab API ](doc/api/README.md )
2013-03-02 06:53:27 -05:00
2013-05-27 03:32:58 -04:00
* [Rake tasks ](doc/raketasks )
2013-03-02 06:53:27 -05:00
2013-05-27 03:32:58 -04:00
* [Directory structure ](doc/install/structure.md )
2013-02-27 16:17:46 -05:00
2013-05-27 03:32:58 -04:00
* [Databases ](doc/install/databases.md )
2013-03-02 17:27:52 -05:00
2013-03-30 06:35:35 -04:00
### Getting help
2013-03-02 17:27:52 -05:00
2013-05-15 11:42:45 -04:00
* [Maintenance policy ](MAINTENANCE.md ) specifies what versions are supported.
2013-03-30 06:35:35 -04:00
* [Troubleshooting guide ](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide ) contains solutions to common problems.
2013-03-23 16:20:09 -04:00
2013-05-27 04:33:12 -04:00
* [Support forum ](https://groups.google.com/forum/#!forum/gitlabhq ) and [Stack Overflow ](http://stackoverflow.com/questions/tagged/gitlab ) are the best places to ask questions. For example you can use it if you have questions about: permission denied errors, invisible repos, can't clone/pull/push or with web hooks that don't fire. Please search for similar issues before posting your own, there's a good chance somebody else had the same issue you have now and has resolved it. There are a lot of helpful GitLab users there who may be able to help you quickly. If your particular issue turns out to be a bug, it will find its way from there to a fix.
2013-03-02 17:27:52 -05:00
2013-04-17 16:00:31 -04:00
* [Feedback and suggestions forum ](http://feedback.gitlab.com ) is the place to propose and discuss new features for GitLab.
2013-03-02 17:38:48 -05:00
2013-05-15 11:42:45 -04:00
* [Contributing guide ](https://github.com/gitlabhq/gitlabhq/blob/master/CONTRIBUTING.md ) describes how to submit pull requests and issues. Pull requests and issues not in line with the guidelines in this document will be closed.
* [Support subscription ](http://www.gitlab.com/subscription/ ) connects you to the knowledge of GitLab experts that will resolve your issues and answer your questions.
2013-03-02 17:27:52 -05:00
2013-04-21 10:49:23 -04:00
* [Consultancy ](http://www.gitlab.com/consultancy/ ) allows you hire GitLab experts for installations, upgrades and customizations.
2013-03-02 17:38:48 -05:00
2013-03-02 06:53:27 -05:00
### Getting in touch
2011-11-15 09:41:33 -05:00
2013-03-02 06:53:27 -05:00
* [Core team ](https://github.com/gitlabhq?tab=members )
2011-12-06 16:11:22 -05:00
2013-03-02 06:53:27 -05:00
* [Contributors ](https://github.com/gitlabhq/gitlabhq/graphs/contributors )
2011-11-15 09:41:33 -05:00
2013-03-02 06:53:27 -05:00
* [Leader ](https://github.com/randx )
2011-11-15 09:41:33 -05:00
2013-03-02 06:53:27 -05:00
* [Contact page ](http://gitlab.org/contact/ )