Start writing doc about GitLab architecture for developers
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
9c4ed864d5
commit
7cc8459d43
1 changed files with 23 additions and 0 deletions
23
doc/development/architecture.md
Normal file
23
doc/development/architecture.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
# GitLab project architecture
|
||||
|
||||
GitLab project consists of two parts: GitLab and GitLab shell.
|
||||
|
||||
## GitLab
|
||||
|
||||
Web application with background jobs workers.
|
||||
Provides you with UI and most of functionality.
|
||||
For some operations like repo creation - uses GitLab shell.
|
||||
|
||||
Uses:
|
||||
* Ruby as main language for application code and most libraries.
|
||||
* [Rails](http://rubyonrails.org/) web framework as main framework for application.
|
||||
* Mysql or postgres as main databases. Used for persistent data storage(users, project, issues etc).
|
||||
* Redis database. Used for cache and exchange data between some components.
|
||||
* Python2 because of [pygments](http://pygments.org/) as code syntax highlighter.
|
||||
|
||||
## GitLab shell
|
||||
|
||||
Command line ruby application. Used by GitLab through shell commands.
|
||||
It provides interface to all kind of manipulations with repositories and ssh keys.
|
||||
Full list of commands you can find in README of GitLab shell repo.
|
||||
Works on pure ruby and do not require any additional software.
|
Loading…
Reference in a new issue