IBM Cloud Docs
配置 GitLab

配置 GitLab

GitLab 是 Git 存储库基于 Web 的托管服务。 您可以同时具有存储库的本地和远程副本,这使协作变得更加轻松。

您可以将 GitLab 配置为工具链中的工具集成,以便您可以管理 GitLab.com 上或您公司 GitLab 实例中新存储库或现有存储库中的源代码。 通过 Wiki、问题跟踪和合并请求,可参与社交编码。

如果您在创建工具链时配置此工具集成,请遵循以下步骤:

  1. 如果要将源代码存储在 GitLab 存储库中,请在“可配置的集成”部分中,单击 GitLab。 如果要在 IBM Cloud Public 上配置此工具集成,那么必须通过选择 OAuth个人访问令牌来授权 IBM Cloud 访问 GitLab。

    • 如果选择 OAuth,请单击 授权 以转至 GitLab Web 站点。 如果您没有活动的 GitLab 会话,那么系统会提示您登录。 单击授权应用程序,以允许 IBM Cloud 访问 GitLab 帐户。 如果您有活动的 GitLab 会话,但最近未输入过密码,那么系统可能会提示您输入 GitLab 密码以进行确认。

    • 如果选择“个人访问令牌”,那么必须输入个人访问令牌以用于授权 GitLab 克隆存储库并代表您执行其他操作。 如果您没有个人访问令牌,那么可以遵循 GitLab Web 站点上的文档来创建个人访问令牌。 确保您的个人访问令牌具有 api 权限。

  2. 如果要使用您自己的 GitLab 服务器上的存储库,请在“可配置的集成”部分中,单击添加定制服务器

    a. 输入定制 GitHub 服务器的标题,指定服务器的根 URL,然后输入个人访问令牌。

    b. 如果您没有个人访问令牌,那么可以遵循 GitLab Web 站点上的文档来创建个人访问令牌。

    c. 如果您的GitHub服务器被空中屏蔽或无法在公共互联网上访问,您可以连接并集成一个Delivery Pipeline私有 Worker,在自己的Kubernetes基础架构上运行,以访问内部或企业内部资源。 有关 Delivery Pipeline 私人工作者的更多信息,请参阅 使用 Delivery Pipeline 私人工作者

  3. 复查 GitLab 存储库的缺省目标存储库位置。 那些存储库是从样本存储库克隆而来的。 如果需要,请更改目标存储库的名称。

如果您有工具链且要向其添加此工具集成,请执行以下步骤:

  1. 从IBM Cloud控制台,单击菜单图标汉堡包图标>平台自动化>工具链。 在“工具链”页面,单击工具链打开其“概述”页面。 或者,在应用程序“概述”页面的“持续交付”卡上,单击查看工具链。 然后,单击概述

  2. 单击添加工具

  3. 在“工具集成”部分中,单击 GitLab

  4. 单击要使用的 GitLab 服务器。

  5. 如果您有 GitLab 存储库并且想要使用该存储库,那么对于存储库类型,请单击现有并输入 URL。

  6. 如果要使用新的 GitLab 存储库,请输入存储库的名称,输入您要克隆或派生的存储库的 URL,然后选择存储库类型:

    a. 要创建空的存储库,请单击新建

    b. 要创建 GitLab 存储库的副本,请单击克隆

    c. 要派生 GitLab 存储库以便您可以通过拉出请求来提供更改,请单击派生

  7. 如果要在服务器上创建公共存储库,请清除使此存储库成为专用复选框。

  8. 如果要使用 GitLab 的 Issues 进行问题跟踪,请选中启用 GitLab Issues 复选框。

  9. 如果要通过在提交上创建标记和注释以及在提交所引用的问题上创建标签和注释来跟踪代码更改的部署,请选中跟踪代码更改的部署复选框。 如需了解更多信息,请参阅 使用工具链跟踪代码的部署位置

  10. 单击创建集成

  11. 在工具链的“概述”页面的 存储库 卡上,单击要使用的 GitLab 存储库。 根据您选择的存储库,将打开 GitLab Web 站点或您公司的 GitLab 存储库,您可在其中查看存储库的内容。

  12. 如果您已启用 GitLab Issues,请单击 GitLab Issues,以将其打开。 即使工具链中包含多个 GitLab 存储库,也可以将此 GitLab Issues 实例用于整个工具链。

    如果您对要链接到的存储库没有所有者或支配者特权,那么您的集成将受到限制,因为您无法使用 Webhook。 将提交推送到存储库时,需要 Webhook 才能自动运行管道。 没有 Webhook,您必须手动启动管道。

使用 API 配置 GitLab

GitLab 工具集成支持以下配置参数,当您 创建读取更新 工具集成时,可以将这些配置参数与 工具链 HTTP API 和 SDK 配合使用。

必须在请求主体中使用 gitlab 值指定 tool_type_id 属性。

GitLab工具集成参数
参数 用途 Type Terraform 自变量 描述
api_root_url 可选,可更新 字符串 api_root_url GitLabAPI 的 URL。
api_token 可选,可更新 密码 api_token 个人访问令牌 (PAT)。 仅当 auth_type 设置为 pat 时,才需要此参数,否则将忽略此参数。
auth_type 可选,可更新,Default: oauth 字符串 auth_type 设置用于访问 Git 提供程序的认证方法。
盲连接 可选,可更新,Default: false 布尔值 盲连接 将此值设为 true 表示服务器无法在公共互联网上寻址,因为 IBM Cloud 无法验证您提供的连接详细信息。 某些需要访问 Git 服务器的 API 的功能将被禁用。Delivery Pipeline只能通过使用可通过网络访问 Git服务器的私有 Worker 运行。
缺省分支 可选,可更新 字符串 缺省分支 Git 存储库的缺省分支的名称。
enable_traceability 可选,可更新,Default: false 布尔值 enable_traceability 将此值设为 "true,可通过在提交、拉取请求和引用问题上创建标记、标签和注释来跟踪代码更改的部署情况。
git_id 可选,不可更改 字符串 git_id 对于 gitlab.com,请将此值设置为 gitlab,或者设置为定制 GitLab 服务器的 GUID。
has_issues 可选,可更新,Default: true 布尔值 toolchain_issues_enabled 将此值设置为 true 以在 GitLab 存储库上启用“问题”,并将“问题”工具集成卡添加到工具链。 将此值设置为 false 以从工具链中除去工具集成卡。 此操作不会影响是否在 GitLab 存储库本身上启用了问题。
集成所有者 可选,可更新 字符串 集成所有者 选择执行 Git 操作的用户。
owner_id 可选,不可更改 字符串 owner_id 拥有存储库的 GitLab 用户或组。 当您创建存储库或克隆或派生存储库时,此参数是必需的。 链接到现有存储库时,将计算此值。
private_repo 可选,不可变,Default: true 布尔值 private_repo 将此值设置为 true 以在创建存储库或克隆或派生存储库时使该存储库成为专用存储库。 链接到现有存储库时,不会使用此参数。
repo_id 可选,不可更改 字符串 repo_id GitLab项目的 ID。
repo_name 可选,不可更改 字符串 repo_name 要创建的GitLab仓库的名称。 当您创建存储库或克隆或派生存储库时,此参数是必需的。 链接到现有存储库时,将计算此值。
repo_url 可选,不可更改 字符串 repo_url 此工具集成的 GitLab 存储库的 URL。 链接到现有存储库时,此参数是必需的。 此值在您创建存储库时计算,或者克隆或派生存储库时计算。
source_repo_url 可选,不可更改 字符串 source_repo_url 要派生或克隆的存储库的 URL。 当您派生或克隆存储库时,此参数是必需的,但当您创建存储库或链接到现有存储库时,不会使用此参数。
token_url 可选,可更新 字符串 token_url 用于向 GitLab 服务器授权的令牌 URL。
类型 必需,不可更改 字符串 类型 要执行的用于初始化新工具集成的操作。 使用 new 创建 Git 存储库,使用 clone 将现有存储库克隆到新的 Git 存储库中,使用 fork 派生现有 Git 存储库,或者使用 link 链接到现有 Git 存储库。