安装 GDK 开发环境
如果你想为 GitLab 代码库贡献代码,并希望有一个测试你更改的开发环境,你可以使用 GitLab 开发套件 (GDK),这是一个本地版本的 GitLab,你可以随意使用。
GDK 是一个本地开发环境,包含 GitLab 自托管版本、示例项目和管理员权限,你可以用它来测试功能。
如果你更喜欢在本地虚拟机中使用 GDK,请按照 配置 GDK-in-a-box 中的步骤操作。
安装和配置 GitLab 开发套件 (GDK)
如果你已经有一个可用的 GDK,请更新它以使用社区版本。
请预留大约两小时来安装 GDK。如果一切顺利,安装过程大约需要一小时。
有时安装需要一些调整才能正常工作,所以你还应该预留一些时间进行故障排除。这看起来可能工作量很大,但一旦 GDK 运行起来,你就可以进行任何更改。
安装 GDK:
-
确保你使用的是 支持的平台之一。
-
确认已安装 Git 并且你有源代码编辑器。
-
选择要安装 GDK 的目录。安装脚本会将应用程序安装到一个名为
gdk的新子目录中。保持目录名称简短。一些用户在使用长目录名时遇到问题。
-
从命令行进入该目录。 在此示例中,创建并进入
dev目录:mkdir ~/dev && cd "$_" -
运行单行安装命令:
curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/install" | bash此脚本将 GitLab 开发套件 (GDK) 仓库克隆到一个新的子目录中,并使用
asdf版本管理器设置必要的依赖项(包括 Ruby、Node.js、PostgreSQL、Redis 等)。如果你使用其他版本管理器来管理这些依赖项,请参考 故障排除部分 以避免冲突。
-
对于
Where would you like to install the GDK? [./gdk]消息, 按 Enter 接受默认位置。 -
对于
Which GitLab repo URL would you like to clone?消息,输入 GitLab 社区版本仓库 URL:https://gitlab.com/gitlab-community/gitlab.git -
对于
GitLab would like to collect basic error and usage data消息, 根据提示选择你的选项。安装运行时,复制显示的任何消息。 如果安装过程中遇到问题,你可以使用此输出作为 故障排除 的一部分。
-
安装完成后, 从
INFO: To make sure GDK commands are available in this shell消息中, 复制对应你 shell 的source命令:source ~/.asdf/asdf.sh -
进入 GDK 安装目录:
cd gdk -
运行
gdk truncate-legacy-tables确保主数据库和 CI 数据库中的数据被截断, 然后运行gdk doctor确认 GDK 安装:gdk truncate-legacy-tables && gdk doctor- 如果
gdk doctor返回错误,请参考 故障排除 GDK 部分。 - 如果
gdk doctor返回Your GDK is healthy,请继续下一步。
- 如果
-
启动 GDK:
gdk start -
等待
GitLab available at http://127.0.0.1:3000, 然后使用提供的 URL 连接到 GDK。 -
使用用户名
root和密码5iveL!fe登录。首次登录时, 系统会提示你重置密码。 -
继续阅读 使用 GDK 更改代码。
更新现有的 GDK 安装
如果你有现有的 GDK 安装,你应该更新它以使用社区版本。
-
删除现有的
gdk/gitlab目录。 -
将社区版本克隆到该位置:
cd gdk git clone https://gitlab.com/gitlab-community/gitlab.git
确认成功:
- 确保
gdk/gitlab目录存在。 - 进入顶级
gdk目录并运行gdk stop和gdk 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 asdf.sh 的加载:
-
打开你的 shell 配置文件(例如,
.zshrc、.bashrc):nano <path-to-shell-config> -
注释掉以下行:
# Added by GDK bootstrap # source ~/.asdf/asdf.sh -
进行这些更改后,重启你的 shell 或终端会话以使修改生效。
要再次使用 asdf,请恢复之前的更改。
更改代码
GDK 准备就绪后,继续阅读 使用 GDK 贡献代码。