README.md 6.12 KB
Newer Older
1
# ![logo](https://about.gitlab.com/images/gitlab_logo.png) GitLab
2

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
3
## Open source software to collaborate on code
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
4

5
![Animated screenshots](https://about.gitlab.com/images/animated/compiled.gif)
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
6

7
8
9
10
11
12
- 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
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
13

14
## Canonical source
15

16
- 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.
17

18
## Code status
Nihad Abbasov's avatar
Nihad Abbasov committed
19

20
- [![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)
Nihad Abbasov's avatar
Nihad Abbasov committed
21

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
22
23
- [![Build Status](https://semaphoreapp.com/api/v1/projects/2f1a5809-418b-4cc2-a1f4-819607579fe7/243338/badge.png)](https://semaphoreapp.com/gitlabhq/gitlabhq)

24
- [![Code Climate](https://codeclimate.com/github/gitlabhq/gitlabhq.svg)](https://codeclimate.com/github/gitlabhq/gitlabhq)
25

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
26
- [![Coverage Status](https://coveralls.io/repos/gitlabhq/gitlabhq/badge.png?branch=master)](https://coveralls.io/r/gitlabhq/gitlabhq?branch=master)
27

28
- [![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)
dosire's avatar
dosire committed
29

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
30
31
## Website

32
On [about.gitlab.com](https://about.gitlab.com/) you can find more information about:
Nihad Abbasov's avatar
Nihad Abbasov committed
33

34
35
36
37
38
39
- [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.
40

41
## Requirements
Nihad Abbasov's avatar
Nihad Abbasov committed
42

43
44
45
46
47
- Ubuntu/Debian/CentOS/RHEL**
- ruby 2.0+
- git 1.7.10+
- redis 2.0+
- MySQL or PostgreSQL
Nihad Abbasov's avatar
Nihad Abbasov committed
48

49
** More details are in the [requirements doc](doc/install/requirements.md).
50

51
## Installation
52

53
Please see [the installation page on the GitLab website](https://about.gitlab.com/installation/) for the various options.
54
Since a manual installation is a lot of work and error prone we strongly recommend the fast and reliable [Omnibus package installation](https://about.gitlab.com/downloads/) (deb/rpm).
55
56
57
58
59
60
61
62
63
64
65

## 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)
66

67
### New versions
68

69
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).
70

71
### Upgrading
72

73
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).
74

75
## Run in production mode
76

77
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:
78

79
    sudo service gitlab start
80

81
or by directly calling the script:
82

83
     sudo /etc/init.d/gitlab start
84

85
Please login with `root` / `5iveL!fe`
dosire's avatar
dosire committed
86

87
## Install a development environment
dosire's avatar
dosire committed
88

89
90
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
Marin Jankovski's avatar
Marin Jankovski committed
91
92
93

    cp config/unicorn.rb.example.development config/unicorn.rb

94
## Run in development mode
95

96
Start it with [Foreman](https://github.com/ddollar/foreman)
97

98
    bundle exec foreman start -p 3000
99

100
or start each component separately:
101

102
    bundle exec rails s
103
    bin/background_jobs start
104

105
And surf to [localhost:3000](http://localhost:3000/) and login with `root` / `5iveL!fe`.
dosire's avatar
dosire committed
106

107
## Run the tests
108

109
-   Run all tests:
110

111
        bundle exec rake test
112

113
-   [RSpec](http://rspec.info/) unit and functional tests.
114

115
    All RSpec tests: `bundle exec rake spec`
116

117
    Single RSpec file: `bundle exec rspec spec/controllers/commit_controller_spec.rb`
118

119
-   [Spinach](https://github.com/codegram/spinach) integration tests.
120

121
    All Spinach tests: `bundle exec rake spinach`
122

123
    Single Spinach test: `bundle exec spinach features/project/issues/milestones.feature`
124

125
## Documentation
126

dosire's avatar
dosire committed
127
All documentation can be found on [doc.gitlab.com/ce/](http://doc.gitlab.com/ce/).
128

129
## Getting help
130

131
Please see [Getting help for GitLab](https://about.gitlab.com/getting-help/) on our website for the many options to get help.
132
133
134
135
136
137
138
139
140

## 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.