Help us learn about your current experience with the documentation. Take the survey.

安装 GDK 开发环境

如果你想为 GitLab 代码库贡献代码,并希望有一个测试你更改的开发环境,你可以使用 GitLab 开发套件 (GDK),这是一个本地版本的 GitLab,你可以随意使用。

GDK 是一个本地开发环境,包含 GitLab 自托管版本、示例项目和管理员权限,你可以用它来测试功能。

Home page of GitLab running in local development environment on port 3000

如果你更喜欢在本地虚拟机中使用 GDK,请按照 配置 GDK-in-a-box 中的步骤操作。

查看此步骤的交互式演示

安装和配置 GitLab 开发套件 (GDK)

如果你已经有一个可用的 GDK,请更新它以使用社区版本

请预留大约两小时来安装 GDK。如果一切顺利,安装过程大约需要一小时。

有时安装需要一些调整才能正常工作,所以你还应该预留一些时间进行故障排除。这看起来可能工作量很大,但一旦 GDK 运行起来,你就可以进行任何更改。

Home page of GitLab running in local development environment on port 3000

安装 GDK:

  1. 确保你使用的是 支持的平台之一

  2. 确认已安装 Git 并且你有源代码编辑器。

  3. 选择要安装 GDK 的目录。安装脚本会将应用程序安装到一个名为 gdk 的新子目录中。

    保持目录名称简短。一些用户在使用长目录名时遇到问题。

  4. 从命令行进入该目录。 在此示例中,创建并进入 dev 目录:

    mkdir ~/dev && cd "$_"
  5. 运行单行安装命令:

    curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/install" | bash

    此脚本将 GitLab 开发套件 (GDK) 仓库克隆到一个新的子目录中,并使用 asdf 版本管理器设置必要的依赖项(包括 Ruby、Node.js、PostgreSQL、Redis 等)。

    如果你使用其他版本管理器来管理这些依赖项,请参考 故障排除部分 以避免冲突。

  6. 对于 Where would you like to install the GDK? [./gdk] 消息, 按 Enter 接受默认位置。

  7. 对于 Which GitLab repo URL would you like to clone? 消息,输入 GitLab 社区版本仓库 URL:

    https://gitlab.com/gitlab-community/gitlab.git
  8. 对于 GitLab would like to collect basic error and usage data 消息, 根据提示选择你的选项。

    安装运行时,复制显示的任何消息。 如果安装过程中遇到问题,你可以使用此输出作为 故障排除 的一部分。

  9. 安装完成后, 从 INFO: To make sure GDK commands are available in this shell 消息中, 复制对应你 shell 的 source 命令:

    source ~/.asdf/asdf.sh
  10. 进入 GDK 安装目录:

    cd gdk
  11. 运行 gdk truncate-legacy-tables 确保主数据库和 CI 数据库中的数据被截断, 然后运行 gdk doctor 确认 GDK 安装:

    gdk truncate-legacy-tables && gdk doctor
    • 如果 gdk doctor 返回错误,请参考 故障排除 GDK 部分。
    • 如果 gdk doctor 返回 Your GDK is healthy,请继续下一步。
  12. 启动 GDK:

    gdk start
  13. 等待 GitLab available at http://127.0.0.1:3000, 然后使用提供的 URL 连接到 GDK。

  14. 使用用户名 root 和密码 5iveL!fe 登录。首次登录时, 系统会提示你重置密码。

  15. 继续阅读 使用 GDK 更改代码

更新现有的 GDK 安装

如果你有现有的 GDK 安装,你应该更新它以使用社区版本。

  1. 删除现有的 gdk/gitlab 目录。

  2. 将社区版本克隆到该位置:

    cd gdk
    git clone https://gitlab.com/gitlab-community/gitlab.git

确认成功:

  1. 确保 gdk/gitlab 目录存在。
  2. 进入顶级 gdk 目录并运行 gdk stopgdk start

如果出现错误,运行 gdk doctor 进行故障排除。 有关更高级的故障排除,请继续阅读 故障排除 GDK 部分。

故障排除 GDK

有关更高级的故障排除,请参阅 故障排除文档 和 Discord 上的 #contribute 频道

如果你遇到问题,请进入 gdk/gitlab 目录并运行 gdk doctor

如果 gdk doctor 返回 Node 或 Ruby 相关错误,请运行:

yarn install && bundle install
bundle exec rails db:migrate RAILS_ENV=development

错误:未为命令设置版本

如果你已经在系统中使用其他版本管理器,可能会遇到 “No version is set for command ” 错误。 要解决此问题,你可以暂时注释掉 shell 中 asdf.sh 的加载:

  1. 打开你的 shell 配置文件(例如,.zshrc.bashrc):

    nano <path-to-shell-config>
  2. 注释掉以下行:

    # Added by GDK bootstrap
    # source ~/.asdf/asdf.sh
  3. 进行这些更改后,重启你的 shell 或终端会话以使修改生效。

要再次使用 asdf,请恢复之前的更改。

更改代码

GDK 准备就绪后,继续阅读 使用 GDK 贡献代码