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, a virtual machine (VM) pre-configured with the GitLab Development Kit (GDK).
The GDK is a local development environment that includes an installation of self-managed GitLab, 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
- 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.
Use VS Code to connect to GDK
View a demo video of this step.
NOTE: You might need to modify the system configuration (CPU cores and RAM) before starting the virtual machine.
-
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 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:
debian@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
You can select the power icon ({power}) to shut down
the virtual machine, or enter the shutdown
command in the terminal.
Use the password debian
:
sudo shutdown now
Update GDK-in-a-box
You can update GDK-in-a-box while connected to debian@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.