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

课程 1

观看视频:课程 1 简介

在本课程中,你将解决最小的问题 - 只修改一个字符的文本。为此,我们需要学习:

  • 如何搭建 GitLab 开发环境。
  • 如何浏览 GitLab 代码库。
  • 如何在 GitLab 项目中创建合并请求。

学习完这三点后,GitLab 团队成员将进行现场编码演示。 在演示中,他们会通过完成一个小型问题来应用所学知识,这样你就可以自己完成一个问题。

这里 “Linked items” 部分 有一个与我们即将现场编码的问题非常相似的问题列表,现在评论其中一个问题来分配给你,这样你就可以跟着练习。

什么是 GDK?

观看视频:什么是 GDK

GDK(GitLab 开发套件)是 GitLab 的本地实例,允许开发者在自己的计算机上运行和测试 GitLab。 与仅前端的应用程序不同,GDK 运行整个 GitLab 应用程序,包括后端服务、API 和本地数据库。 这使得开发者可以进行更改、实时测试并验证他们的修改。

使用 GDK 的提示:

  • 故障排除文档:当遇到 GDK 问题时,请参考 GDK 仓库 中的故障排除文档。 这些资源提供了有用的命令和提示,帮助解决常见问题。
  • 使用 Rails 控制台:Rails 控制台是与本地 GitLab 实例交互的重要工具。 你可以通过运行 gdk rails c 来访问它,并用于启用或禁用功能标志、执行后端操作等。
  • 保持更新:通过运行 gdk update 定期更新你的 GDK。 此命令获取 GitLab 项目的最新分支,以及 GDK 及其依赖项的最新分支。 保持 GDK 更新有助于确保你使用的是最新版本的 GitLab,并确保你拥有最新的错误修复。

请记住,如果你需要进一步的帮助或有具体问题,可以通过我们的 Discord其他可用的支持渠道 联系 GitLab 社区。

在本地安装和使用 GDK

观看视频:安装 GDK

有关最新的安装说明,请参考 GitLab 开发套件文档

以下是步骤摘要:

  1. 前置条件:
  2. 安装:
    • 选择一个目录来安装 GitLab 开发套件(GDK)。

    • 打开终端并进入所选目录。

    • 从终端下载并运行安装脚本:

      curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/install" | bash
    • 只运行来自可信源的脚本以确保安全。

    • 安装过程可能需要 20 分钟或更长时间。

  3. 选择仓库:
    • 不要克隆主 GitLab 仓库,而是使用为更广泛的社区成员推荐社区分叉。
    • 按照提供的说明安装社区分叉。
  4. GDK 结构:
    • 安装后,会创建 GDK 目录。
    • 在 GDK 目录中,你会找到 GitLab 项目文件夹。
  5. 使用 GDK:
    • GDK 提供了许多命令,你可以使用这些命令与你的安装进行交互。要运行这些命令,你必须位于 GDK 或 GitLab 文件夹中。
    • 要启动 GDK,在终端中运行命令 gdk start
    • 你可以通过在终端中运行 gdk help 来探索可用的命令和选项。

如果你有任何进一步的问题或问题,请查阅文档或寻求社区支持。

使用 Gitpod 而不是在本地运行 GDK

Gitpod 是一项服务,允许你在 Gitpod 服务器上运行虚拟机,特别是 GitLab 开发套件(GDK),而不是在你的机器上运行它。 它提供了一个基于 Web 的集成开发环境(IDE),你可以在其中编辑代码并看到 GDK 的实际运行。 Gitpod 对于快速启动和运行 GDK 环境、在不本地安装 GDK 的情况下进行小型合并请求,或在资源可能不足的机器上运行 GDK 都很有用。

要使用 Gitpod:

  1. 申请 GitLab 社区分叉的访问权限。 或者,你可以创建自己的公共分叉,但会错过 社区分叉的好处
  2. 访问 GitLab 社区分叉网站,选择 编辑,然后选择 Gitpod
  3. 配置你的设置,例如编辑器(VS Code 桌面版或浏览器)和上下文(通常是 mainmaster 分支)。
  4. 选择 打开 来创建你的 Gitpod 工作区。此过程可能需要长达 20 分钟。GitLab 开发套件(GDK)将安装在 Gitpod 工作区中。此安装比下载和完整安装本地 GDK 更快。

创建工作区后,你会在浏览器中看到你选择的 IDE 正在运行。如果需要,你也可以将它连接到你的桌面 IDE。 就像你本地使用 VS Code 一样使用 Gitpod。创建分支,进行代码更改,提交它们,然后将它们推送到社区分叉。

其他提示:

  • 定期推送你的代码,以避免工作区超时。空闲的工作区最终会被销毁。
  • 如有需要,自定义你的 Gitpod 工作区设置,例如让你的 GitLab 前端实例公开可用。
  • 如果用完分钟数,请在 Discord 服务器上联系支持团队。
  • 像在本地运行一样,在 Gitpod 工作区中使用 gdk startgdk status 等命令来解决问题。

通过遵循这些步骤,你可以利用 Gitpod 高效地使用 GitLab 开发套件进行开发,而无需本地安装。

浏览 GitLab 代码库

观看视频:如何浏览 GitLab 代码库

了解如何浏览 GitLab 代码库对贡献者来说至关重要。 浏览代码库和定位特定文件可能具有挑战性,但对于有效进行更改和解决问题至关重要。 在这里,我们将探索一个逐步查找文件以及在 GitLab 中查找它们渲染位置的流程。

如果你已经知道要处理的文件,现在想找到它在哪里被渲染:

  1. 首先收集线索以了解文件的目的。查找文件本身中的相关信息,例如可能指示其上下文的关键词或特定内容。
  2. 你还可以检查文件路径(或文件夹结构)以深入了解文件可能在何处被渲染。 GitLab 中的许多路由与文件夹结构非常相似。
  3. 如果你能确定此组件使用在哪个功能(或其中一个功能)中,然后可以利用 GitLab 用户文档来了解如何转到该功能页面。
  4. 遵循组件层次结构,对文件名进行全局搜索以识别渲染该组件的父组件。 继续遵循组件层次结构,追溯到你在 GitLab 用户文档中可以识别或搜索的功能。
  5. 你可以使用带有 GitLens 等扩展的 git blame 来查找最近修改此文件的 MR。 大多数 MR 都有一个"如何验证"部分,你可以遵循它,如果 MR 没有此部分,请查找之前的更改,直到找到包含验证步骤的更改。

如果你知道需要修复哪个页面并想找到文件路径,这里有一些你可以尝试的方法:

  • 查找独特且不包含变量的内容,这样你就可以搜索翻译变量。
  • 尝试使用 Vue Dev Tools 来查找组件名称。
  • 在组件的 HTML 中查找唯一标识符,如 data-testidid 或看起来独特的 CSS 类,然后在代码库中全局搜索这些标识字符串。

编写一个好的合并请求

观看视频:如何编写一个好的 MR

编写合并请求时,有一些重要事项需要注意:

  • 你的 MR 将成为 GitLab 项目文档的永久部分。 它将来可能被用来帮助人们理解为什么某些代码以这种方式工作,以及为什么不使用替代解决方案。
  • 至少有 2 名其他工程师将审查你的代码。为了效率(就像你编写的代码本身一样),最好花更多时间让你的 MR 正确,这样其他人阅读起来更快更容易。
  • 你在 GitLab 上创建的 MR 对公众可见。这意味着你可以在求职时将你特别满意的 MR 链接添加到你的作品集页面。
  • 由于 MR 是技术文档,你应该尝试采用技术写作风格。 如果你不了解这是什么,这里有一门来自 Google 关于技术写作 的强烈推荐的短期课程。 如果你也在为 GitLab 文档做贡献,这里有一门 GitLab 提供的技术写作基础课程

现场编码

观看视频:课程 1 代码演示

现在轮到你完成你的第一个 MR 了,这里 “Linked items” 部分 有一个与我们刚刚完成的问题非常相似的问题列表需要完成。感谢你的贡献!(如果没有剩余的问题,请在 Discord其他可用的支持渠道 上告诉我们,我们会为你找到更多问题)