8.6 KiB
stage, group, info, title
stage | group | info | title |
---|---|---|---|
none | unassigned | Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/development/development_processes/#development-guidelines-review. | Configure GDK-in-a-box |
If you want to contribute to the GitLab codebase and want a development environment in which to test your changes, you can use GDK-in-a-box. GDK-in-a-box is available as a multi-platform container image, pre-configured with the GitLab Development Kit (GDK).
{{< alert type="warning" >}}
Virtual Machine (VM) images for GDK-in-a-box are also available. These VM images are from an earlier iteration of GDK-in-a-box. Information related to these has been retained below. Note, they are deprecated and not actively updated.
{{< /alert >}}
The GDK is a local development environment that includes an installation of GitLab Self-Managed, sample projects, and administrator access with which you can test functionality.
It requires 30 GB of disk space.
If you prefer to use GDK locally without a VM, use the steps in Install the GDK development environment
Download GDK-in-a-box
-
Install a container runtime.
- Multiple options are available, including Docker Desktop, Docker Engine, and Rancher Desktop.
- Docker Desktop can also be installed through package managers like Homebrew.
- Note: On Rancher Desktop, you may want to disable Kubernetes under "Preferences".
- Other container runtimes that support Docker-compatible commands should also work.
-
Pull the container image. The image requires a download of less than 6 GB and might take some time to download.
docker pull registry.gitlab.com/gitlab-org/gitlab-development-kit/gitlab-gdk-in-a-box:latest
-
Create a container from the image:
docker run -d -h gdk.local --name gdk \ -p 2022:2022 \ -p 2222:2222 \ -p 3000:3000 \ -p 3005:3005 \ -p 3010:3010 \ -p 3038:3038 \ -p 5100:5100 \ -p 5778:5778 \ -p 9000:9000 \ registry.gitlab.com/gitlab-org/gitlab-development-kit/gitlab-gdk-in-a-box:latest
-
Continue to Use VS Code to connect to GDK.
Use VS Code to connect to GDK
View a demo video of this step.
{{< alert type="note" >}}
You might need to modify the system configuration of your container runtime (CPU cores and RAM) before starting it. A suggested configuration is less than 12 GB RAM, and 4 cores.
{{< /alert >}}
-
Start the container.
-
In VS Code, select Terminal > New terminal, then run a
curl
command to add an SSH key to your local~/.ssh/config
:curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/gdk-in-a-box/setup-ssh-key" | bash
To learn more about the script, you can examine the
setup-ssh-key
code. -
In the script, type
1
to select the Container installation. -
In VS Code, install the Remote - SSH extension:
-
Connect VS Code to the VM:
- Select Remote-SSH: Connect to host from the command palette.
- Select
gdk.local
to connect.
-
A new VS Code window opens. You can close the old window to avoid confusion. Complete the remaining steps in the new window.
-
In the VS Code terminal, run a
curl
command to configure Git in the GDK:curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/gdk-in-a-box/first_time_setup" | bash
- Enter your name and email address when prompted.
- Add the displayed SSH key to your profile.
To learn more about the script, you can examine the
first_time_setup
code. -
In VS Code, select File > Open folder, and go to:
/home/gdk/gitlab-development-kit/gitlab/
. -
Open GitLab in your browser:
http://gdk.local:3000
. -
Sign in with the username
root
and password5iveL!fe
. -
Continue to change the code with the GDK.
Shut down the GDK Container
You can stop the container by running the following command on your host:
docker stop gdk
Remove the GDK Container
{{< alert type="warning" >}}
This deletes the current container and any data inside. Ensure you have committed any changes before running this command.
{{< /alert >}}
You can remove the container by running the following command on your host:
docker rm gdk
Update GDK-in-a-box
You can update GDK-in-a-box while connected to gdk.local
in VS Code.
In the VS Code terminal, enter:
gdk update
Change the code
After the GDK is ready, continue to Contribute code with the GDK.
Download GDK-in-a-box VM Images (Deprecated)
- Download and install virtualization software to run the virtual machine:
- Mac computers with Apple silicon: UTM. Select Download from GitHub.
- Linux / Windows / Mac computers with Intel silicon: VirtualBox
- Download and unzip GDK-in-a-box. The file is up to 15 GB and might take some time to download:
- Mac computers with Apple silicon: UTM image
- Linux / Windows / Mac: VirtualBox image
- Double-click the virtual machine image to open it:
- UTM:
gdk.utm
- VirtualBox:
gdk.vbox
- UTM:
- Continue to Use VS Code to connect to GDK (VM).
Use VS Code to connect to GDK (VM)
{{< alert type="note" >}}
You might need to modify the system configuration (CPU cores and RAM) before starting the virtual machine.
{{< /alert >}}
-
Start the VM (you can minimize UTM or VirtualBox).
-
In VS Code, select Terminal > New terminal, then run a
curl
command to add an SSH key to your local~/.ssh/config
:curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/gdk-in-a-box/setup-ssh-key" | bash
To learn more about the script, you can examine the
setup-ssh-key
code. -
In the script, type
2
to select the VM installation. -
In VS Code, install the Remote - SSH extension:
-
Make sure that VS Code has access to the local network (Privacy & Security > Local Network).
-
Connect VS Code to the VM:
- Select Remote-SSH: Connect to host from the command palette.
- Enter the SSH host:
gdk.local
-
A new VS Code window opens. You can close the old window to avoid confusion. Complete the remaining steps in the new window.
-
In the VS Code terminal, run a
curl
command to configure Git in the GDK:curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/gdk-in-a-box/first_time_setup" | bash
- Enter your name and email address when prompted.
- Add the displayed SSH key to your profile.
To learn more about the script, you can examine the
first_time_setup
code. -
In VS Code, select File > Open folder, and go to:
/home/debian/gitlab-development-kit/gitlab/
. -
Open GitLab in your browser:
http://gdk.local:3000
. -
Sign in with the username
root
and password5iveL!fe
. -
Continue to change the code with the GDK.
Shut down GDK VM
You can select the power icon ({{< icon name="power" >}}) to shut down
the virtual machine, or enter the shutdown
command in the terminal.
Use the password debian
:
sudo shutdown now