README.md 6.31 KB
Newer Older
1
## GitLab: self hosted Git management software
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
2

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
3
![logo](https://raw.github.com/gitlabhq/gitlabhq/master/public/gitlab_logo.png)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
4

5
6
7
### GitLab allows you to
 * keep your code secure on your own server
 * manage repositories, users and access permissions
8
9
 * communicate through issues, line-comments and wiki pages
 * perform code review with merge requests
10
11

### GitLab is
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
12

13
14
* powered by Ruby on Rails
* completely free and open source (MIT license)
15
* used by more than 10.000 organizations to keep their code secure
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
16

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

19
* [![build status](http://ci.gitlab.org/projects/1/status.png?ref=master)](http://ci.gitlab.org/projects/1?ref=master) ci.gitlab.org (master branch)
Nihad Abbasov's avatar
Nihad Abbasov committed
20

21
* [![build status](https://secure.travis-ci.org/gitlabhq/gitlabhq.png)](https://travis-ci.org/gitlabhq/gitlabhq) travis-ci.org (master branch)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
22

Un1matr1x's avatar
Un1matr1x committed
23
* [![Code Climate](https://codeclimate.com/github/gitlabhq/gitlabhq.png)](https://codeclimate.com/github/gitlabhq/gitlabhq)
24

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
25
* [![Dependency Status](https://gemnasium.com/gitlabhq/gitlabhq.png)](https://gemnasium.com/gitlabhq/gitlabhq)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
26

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

29
### Resources
Nihad Abbasov's avatar
Nihad Abbasov committed
30

31
32
* 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)

33
* 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/)
34
35

* GitLab CI: [Readme](https://github.com/gitlabhq/gitlab-ci/blob/master/README.md) of the GitLab open-source continuous integration server
Nihad Abbasov's avatar
Nihad Abbasov committed
36

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
37
### Requirements
Nihad Abbasov's avatar
Nihad Abbasov committed
38

39
* Ubuntu/Debian**
40
* ruby 1.9.3
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
41
* MySQL
Nihad Abbasov's avatar
Nihad Abbasov committed
42
* git
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
43
* gitlab-shell
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
44
* redis
Nihad Abbasov's avatar
Nihad Abbasov committed
45

46
** More details are in the [requirements doc](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/requirements.md)
47

48
49
### Installation

Yves Senn's avatar
Yves Senn committed
50
51
Check out our [maintenance policy](MAINTENANCE.md) to see what versions are supported.

52
#### Official production installation
53

54
* [Installation guide for a production server](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md)
55

56

57
58
59
#### 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.
60

61
* [Vagrant virtual machine for development](https://github.com/gitlabhq/gitlab-vagrant-vm)
62

63
64

#### Unsupported production installation
65
66
67
68
69

* [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)

70
* [BitNami one-click installers](http://bitnami.com/stack/gitlab)
71

72
* [TurnKey Linux virtual appliance](http://www.turnkeylinux.org/gitlab)
73

74
75
76
77
78

### New versions and upgrading

Each month on the 22th a new version is released together with an upgrade guide.

79
* [Upgrade guides](https://github.com/gitlabhq/gitlabhq/tree/master/doc/update)
80
81
82

* [Changelog](https://github.com/gitlabhq/gitlabhq/blob/master/CHANGELOG)

83
* 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).
84
85


86
### Run in production mode
87

88
1. 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:
89

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
90
        sudo service gitlab start
91

92
  or by directly calling the script
93

94
        sudo /etc/init.d/gitlab start
95

96
97
98
### Run in development mode

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

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
100
        bundle exec foreman start -p 3000
101

102
  or start each component separately
103

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
104
105
        bundle exec rails s
        bundle exec rake sidekiq:start
106

107
### Run the tests
108

109
* Seed the database
110

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
111
112
        bundle exec rake db:setup RAILS_ENV=test
        bundle exec rake db:seed_fu RAILS_ENV=test
113
114

* Run all tests
115

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
116
        bundle exec rake gitlab:test
117

118
* [RSpec](http://rspec.info/) unit and functional tests
119

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
120
        bundle exec rake spec
121

122
* [Spinach](https://github.com/codegram/spinach) integration tests
123

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
124
        bundle exec rake spinach
125
126


127
### GitLab interfaces
128

129
* [GitLab API](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/README.md)
130

131
* [Rake tasks](https://github.com/gitlabhq/gitlabhq/tree/master/doc/raketasks)
132

133
* [Directory structure](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/structure.md)
134

135
* [Databases](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/databases.md)
136
137


138
### Getting help
139

140
* [Troubleshooting guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide) contains solutions to common problems.
141

142
* [Support forum](https://groups.google.com/forum/#!forum/gitlabhq) is the best place 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 had it resolved. 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.
143

144
* [Feedback and suggestions forum](http://feedback.gitlab.com) is the place to propose and discuss new features for GitLab.
145

146
* [Support subscription](http://www.gitlab.com/subscription/) connect you to the knowledge of GitLab experts that will resolve your issues and answer your questions.
147

Yves Senn's avatar
Yves Senn committed
148
* [Consultancy](http://www.gitlab.com/consultancy/) allows you hire GitLab experts for installations, upgrades and customizations.
149

150
* [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.
151

152

153
### Getting in touch
Nihad Abbasov's avatar
Nihad Abbasov committed
154

155
* [Core team](https://github.com/gitlabhq?tab=members)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
156

157
* [Contributors](https://github.com/gitlabhq/gitlabhq/graphs/contributors)
Nihad Abbasov's avatar
Nihad Abbasov committed
158

159
* [Leader](https://github.com/randx)
Nihad Abbasov's avatar
Nihad Abbasov committed
160

161
* [Contact page](http://gitlab.org/contact/)