README.md 5.96 KB
Newer Older
1 2
# GitLab

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

5
![logo](https://gitlab.com/gitlab-org/gitlab-ce/raw/master/public/gitlab_logo.png)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
6

7
![animated-screenshots](https://gist.github.com/fnkr/2f9badd56bfe0ed04ee7/raw/4f48806fbae97f556c2f78d8c2d299c04500cb0d/compiled.gif)
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
8

9 10 11 12 13 14
- 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
15

16
## Canonical source
17

18
- 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.
19

20
## Code status
Nihad Abbasov's avatar
Nihad Abbasov committed
21

22
- [![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
23

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

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

28
- [![Coverage Status](https://coveralls.io/repos/gitlabhq/gitlabhq/badge.png?branch=master)](https://coveralls.io/r/gitlabhq/gitlabhq)
29

30
- [![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
31

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
32 33 34
## Website

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

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
36 37 38 39 40 41
- [Subscriptions](https://www.gitlab.com/subscription/)
- [Consultancy](https://www.gitlab.com/consultancy/)
- [Community](https://www.gitlab.com/community/)
- [Hosted GitLab.com](https://www.gitlab.com/gitlab-com/) use GitLab as a free service
- [GitLab Enterprise Edition](https://www.gitlab.com/gitlab-ee/) with additional features aimed at larger organizations.
- [GitLab CI](https://www.gitlab.com/gitlab-ci/) a continuous integration (CI) server that is easy to integrate with GitLab.
42

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
43
## Third-party applications
44

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
45 46
Access GitLab from multiple platforms with applications below.
These applications are maintained by contributors, GitLab B.V. does not offer support for them.
Nihad Abbasov's avatar
Nihad Abbasov committed
47

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
48 49 50 51 52
- [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)
dosire's avatar
dosire committed
53

54
## Requirements
Nihad Abbasov's avatar
Nihad Abbasov committed
55

56 57 58 59 60
- Ubuntu/Debian/CentOS/RHEL**
- ruby 2.0+
- git 1.7.10+
- redis 2.0+
- MySQL or PostgreSQL
Nihad Abbasov's avatar
Nihad Abbasov committed
61

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

64
## Installation
65

dosire's avatar
dosire committed
66
Please see [the installation page on the GitLab website](https://www.gitlab.com/installation/).
67

68
### New versions
69

70
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://www.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).
71

72
### Upgrading
73

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

76
## Run in production mode
77

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

80
    sudo service gitlab start
81

82
or by directly calling the script:
83

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

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

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

90 91
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
92 93 94

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

95
## Run in development mode
96

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

99
    bundle exec foreman start -p 3000
100

101
or start each component separately:
102

103
    bundle exec rails s
104
    bin/background_jobs start
105

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

108
## Run the tests
109

110
-   Run all tests:
111

112
        bundle exec rake test
113

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

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

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

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

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

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

126
## Documentation
127

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

130
## Getting help
131

dosire's avatar
dosire committed
132
Please see [Getting help for GitLab](https://www.gitlab.com/getting-help/) on our website for the many options to get help.
133 134 135 136 137 138 139 140 141

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