2014-09-09 03:18:32 -04:00
# ![logo](https://about.gitlab.com/images/gitlab_logo.png) GitLab
2014-04-24 18:48:22 -04:00
2014-06-16 04:52:21 -04:00
## Open source software to collaborate on code
2013-02-27 11:09:48 -05:00
2014-09-09 03:18:32 -04:00
![Animated screenshots ](https://about.gitlab.com/images/animated/compiled.gif )
2013-06-23 15:54:24 -04:00
2014-04-24 18:48:22 -04:00
- Manage Git repositories with fine grained access controls that keep your code secure
- Perform code reviews and enhance collaboration with merge requests
- Each project can also have an issue tracker and a wiki
- Used by more than 100,000 organizations, GitLab is the most popular solution to manage Git repositories on-premises
- Completely free and open source (MIT Expat license)
- Powered by Ruby on Rails
2013-02-27 14:05:57 -05:00
2014-04-24 18:48:22 -04:00
## Canonical source
2014-04-17 07:45:06 -04:00
2014-04-24 18:48:22 -04:00
- The source of GitLab Community Edition is [hosted on GitLab.com ](https://gitlab.com/gitlab-org/gitlab-ce/ ) and there are mirrors to make [contributing ](CONTRIBUTING.md ) as easy as possible.
2014-04-17 07:45:06 -04:00
2014-04-24 18:48:22 -04:00
## Code status
2011-11-15 09:41:33 -05:00
2014-04-24 18:48:22 -04:00
- [![build status ](https://ci.gitlab.org/projects/1/status.png?ref=master )](https://ci.gitlab.org/projects/1?ref=master) on ci.gitlab.org (master branch)
2011-11-15 09:41:33 -05:00
2014-09-06 07:29:52 -04:00
- [![Build Status ](https://semaphoreapp.com/api/v1/projects/2f1a5809-418b-4cc2-a1f4-819607579fe7/243338/badge.png )](https://semaphoreapp.com/gitlabhq/gitlabhq)
2014-08-29 12:50:44 -04:00
- [![Code Climate ](https://codeclimate.com/github/gitlabhq/gitlabhq.svg )](https://codeclimate.com/github/gitlabhq/gitlabhq)
2013-03-02 06:53:27 -05:00
2014-10-01 05:40:43 -04:00
- [![Coverage Status ](https://coveralls.io/repos/gitlabhq/gitlabhq/badge.png?branch=master )](https://coveralls.io/r/gitlabhq/gitlabhq?branch=master)
2013-03-10 14:29:34 -04:00
2014-04-24 18:48:22 -04:00
- [![PullReview stats ](https://www.pullreview.com/gitlab/gitlab-org/gitlab-ce/badges/master.svg? )](https://www.pullreview.com/gitlab.gitlab.com/gitlab-org/gitlab-ce/reviews/master)
2014-05-14 08:49:14 -04:00
2014-06-16 04:52:21 -04:00
## Website
2014-09-09 03:18:32 -04:00
On [about.gitlab.com ](https://about.gitlab.com/ ) you can find more information about:
2011-11-15 09:41:33 -05:00
2014-09-09 03:18:32 -04:00
- [Subscriptions ](https://about.gitlab.com/subscription/ )
- [Consultancy ](https://about.gitlab.com/consultancy/ )
- [Community ](https://about.gitlab.com/community/ )
- [Hosted GitLab.com ](https://about.gitlab.com/gitlab-com/ ) use GitLab as a free service
- [GitLab Enterprise Edition ](https://about.gitlab.com/gitlab-ee/ ) with additional features aimed at larger organizations.
- [GitLab CI ](https://about.gitlab.com/gitlab-ci/ ) a continuous integration (CI) server that is easy to integrate with GitLab.
2013-03-02 06:53:27 -05:00
2014-04-24 18:48:22 -04:00
## Requirements
2011-11-15 09:41:33 -05:00
2014-04-24 18:48:22 -04:00
- Ubuntu/Debian/CentOS/RHEL**
- ruby 2.0+
- git 1.7.10+
- redis 2.0+
- MySQL or PostgreSQL
2011-11-15 09:41:33 -05:00
2014-04-24 18:48:22 -04:00
** More details are in the [requirements doc ](doc/install/requirements.md ).
2013-03-02 06:53:27 -05:00
2014-04-24 18:48:22 -04:00
## Installation
2013-12-09 11:50:30 -05:00
2014-10-01 14:59:06 -04:00
Please see [the installation page on the GitLab website ](https://about.gitlab.com/installation/ ) for the various options.
Since a manual installation is a lot of work and error prone we strongly recommend fast and reliable Omnibus package installation (deb/rpm) on that page.
## Third-party applications
Access GitLab from multiple platforms with applications below.
These applications are maintained by contributors, GitLab B.V. does not offer support for them.
- [iPhone app ](http://gitlabcontrol.com/ )
- [Android app ](https://play.google.com/store/apps/details?id=com.bd.gitlab&hl=en )
- [Chrome app ](https://chrome.google.com/webstore/detail/chrome-gitlab-notifier/eageapgbnjicdjjihgclpclilenjbobi )
- [Command line client ](https://github.com/drewblessing/gitlab-cli )
- [Ruby API wrapper ](https://github.com/NARKOZ/gitlab )
2013-03-23 16:20:09 -04:00
2014-05-29 03:12:35 -04:00
### New versions
2013-03-30 06:35:35 -04:00
2014-09-09 03:18:32 -04:00
Since 2011 a minor or major version of GitLab is released on the 22nd of every month. Patch and security releases come out when needed. New features are detailed on the [blog ](https://about.gitlab.com/blog/ ) and in the [changelog ](CHANGELOG ). For more information about the release process see the release [documentation ](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/release ). Features that will likely be in the next releases can be found on the [feature request forum ](http://feedback.gitlab.com/forums/176466-general ) with the status [started ](http://feedback.gitlab.com/forums/176466-general/status/796456 ) and [completed ](http://feedback.gitlab.com/forums/176466-general/status/796457 ).
2013-03-30 06:35:35 -04:00
2014-05-29 03:12:35 -04:00
### Upgrading
2013-03-30 06:35:35 -04:00
2014-05-29 03:12:35 -04:00
For updating the the Omnibus installation please see the [update documentation ](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update.md ). For manual installations there is an [upgrader script ](doc/update/upgrader.md ) and there are [upgrade guides ](doc/update ).
2013-03-30 06:35:35 -04:00
2014-04-24 18:48:22 -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
2014-04-24 18:48:22 -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
2014-08-06 05:28:14 -04:00
Please login with `root` / `5iveL!fe`
2014-04-13 10:40:56 -04:00
2014-06-16 06:08:23 -04:00
## Install a development environment
2014-04-13 10:40:56 -04:00
2014-09-08 03:57:42 -04:00
We recommend setting up your development environment with [the GitLab Development Kit ](https://gitlab.com/gitlab-org/gitlab-development-kit ).
If you do not use the development kit you might need to copy the example development unicorn configuration file
2014-04-08 05:17:19 -04:00
cp config/unicorn.rb.example.development config/unicorn.rb
2014-06-16 06:08:23 -04:00
## Run in development mode
2014-05-29 06:33:14 -04:00
2013-04-03 15:43:12 -04:00
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
2014-04-24 18:48:22 -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
2014-05-27 11:14:41 -04:00
bin/background_jobs start
2013-03-02 17:27:52 -05:00
2014-04-24 18:48:22 -04:00
And surf to [localhost:3000 ](http://localhost:3000/ ) and login with `root` / `5iveL!fe` .
2014-04-13 10:40:56 -04:00
2014-04-24 18:48:22 -04:00
## Run the tests
2013-03-02 17:27:52 -05:00
2014-04-24 18:48:22 -04:00
- Run all tests:
2013-03-02 17:38:48 -05:00
2014-03-25 06:10:50 -04:00
bundle exec rake test
2013-03-02 17:27:52 -05:00
2014-04-24 18:48:22 -04:00
- [RSpec ](http://rspec.info/ ) unit and functional tests.
2013-06-12 04:00:05 -04:00
2014-04-24 18:48:22 -04:00
All RSpec tests: `bundle exec rake spec`
2013-03-02 17:27:52 -05:00
2014-04-24 18:48:22 -04:00
Single RSpec file: `bundle exec rspec spec/controllers/commit_controller_spec.rb`
2013-03-02 17:38:48 -05:00
2014-04-24 18:48:22 -04:00
- [Spinach ](https://github.com/codegram/spinach ) integration tests.
2013-06-12 04:00:05 -04:00
2014-04-24 18:48:22 -04:00
All Spinach tests: `bundle exec rake spinach`
2013-03-02 06:53:27 -05:00
2014-04-24 18:48:22 -04:00
Single Spinach test: `bundle exec spinach features/project/issues/milestones.feature`
2013-03-02 06:53:27 -05:00
2014-04-24 18:48:22 -04:00
## Documentation
2013-03-02 06:53:27 -05:00
2014-04-01 03:19:37 -04:00
All documentation can be found on [doc.gitlab.com/ce/ ](http://doc.gitlab.com/ce/ ).
2013-03-02 17:27:52 -05:00
2014-04-24 18:48:22 -04:00
## Getting help
2013-03-02 17:27:52 -05:00
2014-09-09 03:18:32 -04:00
Please see [Getting help for GitLab ](https://about.gitlab.com/getting-help/ ) on our website for the many options to get help.
2014-07-16 14:56:58 -04:00
## Is it any good?
[Yes ](https://news.ycombinator.com/item?id=3067434 )
## Is it awesome?
Thanks for [asking this question ](https://twitter.com/supersloth/status/489462789384056832 ) Joshua.
[These people ](https://twitter.com/gitlabhq/favorites ) seem to like it.