README.md 3.55 KB
Newer Older
1
# GitLab Development Kit (GDK)
Jacob Vosmaer's avatar
Jacob Vosmaer committed
2

3
[![build status](https://gitlab.com/gitlab-org/gitlab-development-kit/badges/main/pipeline.svg)](https://gitlab.com/gitlab-org/gitlab-development-kit/pipelines)
Evan Read's avatar
Evan Read committed
4

Jacob Vosmaer's avatar
Jacob Vosmaer committed
5
6
## Overview

Ankita Singh's avatar
Ankita Singh committed
7
8
The GitLab Development Kit (GDK) installs a GitLab instance on your workstation. GDK can
manage GitLab requirements, such as development tools and databases.
Ray Paik's avatar
Ray Paik committed
9

Craig Norris's avatar
Craig Norris committed
10
11
12
The GDK is recommended for anyone contributing to the GitLab codebase, whether a
GitLab team member or a member of the wider community. It allows you to test
your changes locally on your workstation in an isolated manner. This can speed
13
up the time it takes to make successful contributions.
Ray Paik's avatar
Ray Paik committed
14

Ash McKenzie's avatar
Ash McKenzie committed
15
16
17
18
## Goals

- Provide developer tooling to install, update, and develop against a local GitLab instance.
- Offer GDK users an automated method for installing [required software](https://docs.gitlab.com/ee/install/requirements.html#software-requirements).
Ash McKenzie's avatar
Ash McKenzie committed
19
20
- Only manage projects, software, and services that may be needed to run a GitLab instance.
- Out of the box, only enable the services GitLab strictly requires to operate.
Ash McKenzie's avatar
Ash McKenzie committed
21
22
- Support native operating systems as listed below.

23
## Installation
Jacob Vosmaer's avatar
Jacob Vosmaer committed
24

25
26
27
28
29
30
31
32
You can install GDK using the following methods. Some are:

- Supported and frequently tested.
- Not supported, but we welcome merge requests to improve them.

### Supported methods

The following installation methods are supported, actively maintained, and tested:
33

34
35
- [One-line installation](doc/index.md#one-line-installation)
- [Simple installation](doc/index.md#simple-installation) on your local system. Requires at least
36
  8GB RAM and 12GB disk space. Available for [supported platforms](#supported-platforms).
37
38
- [Gitpod](doc/howto/gitpod.md).

39
40
### Supported platforms

41
42
43
44
45
46
47
48
49
50
| Operating system | Versions                       |
|:-----------------|:-------------------------------|
| macOS            | 12, 11, 10.15                  |
| Ubuntu           | 22.04 (1), 21.10, 20.04, 18.04 |
| Fedora           | 36 (1), 35                     |
| Debian           | 11, 10, 9                      |
| Arch             | latest                         |
| Manjaro          | latest                         |

(1) Requires [manual installation of OpenSSL 1.1.1](doc/troubleshooting/ruby.md#openssl-3-breaks-ruby-builds).
51

52
53
54
55
56
### Unsupported methods

The following documentation is provided for those who can benefit from it, but aren't
supported installation methods:

57
58
59
60
61
- [Advanced installation](doc/advanced.md) on your local system. Requires at least
  8GB RAM and 12GB disk space.
- [Vagrant](doc/howto/vagrant.md).
- [Minikube](doc/howto/kubernetes/minikube.md).

62
## Post-installation
63
64
65

- [Use GDK](doc/howto/index.md).
- [Update an existing installation](doc/index.md#update-gdk).
66
- [Login credentials (root login and password)](doc/gdk_commands.md#get-the-login-credentials).
Ash McKenzie's avatar
Ash McKenzie committed
67

Ash McKenzie's avatar
Ash McKenzie committed
68
## Getting help
69

Ash McKenzie's avatar
Ash McKenzie committed
70
71
- We encourage you to [create a new issue](https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/new).
- GitLab team members can use the `#gdk` channel on the GitLab Slack workspace.
72
- Review the [troubleshooting information](doc/troubleshooting).
Ash McKenzie's avatar
Ash McKenzie committed
73
74
- Wider community members can use the [Gitter contributors room](https://gitter.im/gitlab/contributors)
  or [GitLab Forum](https://forum.gitlab.com/c/community/community-contributions/15).
Ash McKenzie's avatar
Ash McKenzie committed
75

Ash McKenzie's avatar
Ash McKenzie committed
76
## Contributing to GitLab Development Kit
Jacob Vosmaer's avatar
Jacob Vosmaer committed
77

Ash McKenzie's avatar
Ash McKenzie committed
78
79
Contributions are welcome; see [`CONTRIBUTING.md`](CONTRIBUTING.md)
for more details.
80

81
82
83
84
### Install lefthook locally

Please refer to our [Lefthook Howto page](doc/howto/lefthook.md).

Jacob Vosmaer's avatar
Jacob Vosmaer committed
85
86
## License

Craig Norris's avatar
Craig Norris committed
87
88
The GitLab Development Kit is distributed under the MIT license; see the
[LICENSE](LICENSE) file.