跳到主要内容

Source Code Management

Cloud ZCP 平台利用 Gitea,一个本地 Git 解决方案,作为其集成的源代码管理 (SCM) 工具。使用像 Gitea 这样的本地解决方案可以帮助减轻与使用公共 SCM 解决方案相关的安全问题。Gitea 提供标准的 Git 功能,用于版本控制、协作和与平台的 CI/CD 功能集成。

ZCP 控制台中注册应用程序时,您将其链接到 Gitea 中的源代码库(或其他标准 Git 服务器)。该平台安全地管理访问源代码库所需的凭据(Secrets),以便进行构建过程。平台中的构建管道配置为从链接的 Git 仓库中的特定分支拉取代码。

Access Gitea

您可以通过 ZCP 控制台中的项目用户菜单访问集成的 Gitea 实例: Dev Tools > Source

您在 Gitea 中的帐户会自动链接到您当前登录的 Cloud ZCP 帐户。当您首次连接时,您可能需要为 Git 命令行操作(如 git pullgit push)设置一个专门的密码。

User Permissions and Roles

在项目上下文中使用 Gitea 的权限由在 ZCP 控制台中具有管理员角色的用户管理。

项目成员的访问权限和权限通过直接将适当的角色分配给用户或将用户添加到持有必要角色的组来授予。这些权限与现代化平台中定义的角色相关联。

如果用户同时被授予多个具有不同权限级别的角色,则应用最高权限级别。

提示

特定角色如 git-administratorgit-writer 是在 Gitea 中创建项目组织下的新仓库所必需的。

组织和仓库

  • Organizations: Gitea 组织会自动创建并管理,与 ZCP 控制台中的项目一一对应。组织名称遵循以下约定: REALM-PROJECT
  • Repositories: Git 仓库存储和管理您的应用程序源代码的文件和文件夹。您通常为每个应用程序创建一个仓库。

创建一个仓库

要创建一个仓库,请按照以下步骤操作:

  1. 导航到 Gitea 中的组织页面或您的个人仪表板。

  2. 点击 New Repository 按钮。

  1. 配置仓库设置:
  • Owner: 选择您的个人账户或项目的组织(需要适当的权限)。
  • Repository Name: 输入仓库的唯一名称。
  • Visibility: 选择仓库是 Public 还是 PrivatePublic 仓库可以被匿名用户查看。
  • Description: 可选地输入仓库的描述。
  • Issue Labels: 可选地为问题指定一组标签。
  • .gitignore: 如果需要,选择一个特定语言的 .gitignore 模板。
  • License: 选择您的代码的软件许可证。
  • README: 选择是否用 README 文件初始化仓库。
  • Initialize Repository: 勾选此框以在创建时自动添加所选的 .gitignore、许可证和 README 文件。
  1. 点击 Create Repository

基本 Git 操作(使用 Git CLI)

您可以使用标准的 Git 命令行界面 (CLI) 命令与您的 Gitea 仓库进行交互。

配置 Git 用户

在提交之前,请确保您的本地 Git 配置中已设置您的用户信息:

$ git config --global user.email "your_email@example.com"
$ git config --global user.name "Your Name"

克隆仓库

在 Gitea 的仓库主页上找到仓库 URL(HTTPS 或 SSH),并首次将仓库下载到您的本地计算机:

$ git clone <repository_url> 

系统会提示您输入 Gitea 用户名和密码(用于 CLI 操作的密码)。

检查状态

查看您的工作目录和暂存区的状态:

$ git status 

这将显示已修改、已添加或未跟踪的文件。

暂存更改

在提交之前,将工作目录中的更改添加到暂存区(索引)。

$ git add <file_name_or_path> 
# 或暂存所有更改
$ git add .

文件必须被暂存(“跟踪”)才能包含在提交中。

提交更改

将暂存的更改记录到您的本地仓库历史中。

$ git commit -m "Your descriptive commit message" 

这会将快照保存在本地;它尚未影响远程 Gitea 仓库。

拉取更改

从远程 Gitea 仓库获取更改并将其合并到您当前的本地分支。请经常执行此操作以保持最新。

git pull origin <branch_name> 

推送更改

将您的本地提交上传到远程 Gitea 仓库:

git push origin <branch_name>

origin 通常指远程 Gitea 服务器。 branch_name 是您想要推送的分支(例如,master, main, develop)。如果未缓存,系统会提示您输入凭据。

与构建管道集成

存储在 Gitea 中的源代码是 ZCP 上 CI/CD 过程的核心。

  • Applications 部分创建应用程序时,您必须提供指向您的 Gitea 存储库的 Git 存储库 URL。
  • 在构建期间对存储库的安全访问通过在应用程序设置中配置的 Secrets 进行处理。
  • 每个构建管道都配置为从链接的 Gitea 存储库中的特定分支检出源代码。这允许从同一代码库构建不同版本或环境(例如,developstagingmaster)。