Commit 7cc8459d439c58b300ce970caa5d1f2ae2675e01
1 parent
9c4ed864
Exists in
master
and in
4 other branches
Start writing doc about GitLab architecture for developers
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
1 changed file
with
23 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,23 @@ |
1 | +# GitLab project architecture | |
2 | + | |
3 | +GitLab project consists of two parts: GitLab and GitLab shell. | |
4 | + | |
5 | +## GitLab | |
6 | + | |
7 | +Web application with background jobs workers. | |
8 | +Provides you with UI and most of functionality. | |
9 | +For some operations like repo creation - uses GitLab shell. | |
10 | + | |
11 | +Uses: | |
12 | + * Ruby as main language for application code and most libraries. | |
13 | + * [Rails](http://rubyonrails.org/) web framework as main framework for application. | |
14 | + * Mysql or postgres as main databases. Used for persistent data storage(users, project, issues etc). | |
15 | + * Redis database. Used for cache and exchange data between some components. | |
16 | + * Python2 because of [pygments](http://pygments.org/) as code syntax highlighter. | |
17 | + | |
18 | +## GitLab shell | |
19 | + | |
20 | +Command line ruby application. Used by GitLab through shell commands. | |
21 | +It provides interface to all kind of manipulations with repositories and ssh keys. | |
22 | +Full list of commands you can find in README of GitLab shell repo. | |
23 | +Works on pure ruby and do not require any additional software. | ... | ... |