IBM Cloud Docs
配置 GitHub

配置 GitHub

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

GitHub Enterprise 是 Git 存储库基于 Web 的内部部署托管服务。

GitHub Issues 是一种跟踪工具,可将您的全部工作和计划保留在一个地方。 它与您的开发存储库相集成,以便您可将关注点放在重要的任务上。

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

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

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

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

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

  2. 如果要在自己的GitHub Enterprise服务器上使用 repo,请在“可配置集成”部分单击“自定义服务器”。

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

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

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

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

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

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

  2. 单击添加工具

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

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

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

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

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

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

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

  7. 如果您是具有升级帐户的 GitHub.com 用户,或者选择了 GitHub Enterprise 服务器,并且希望在该服务器上创建新的专用存储库,请选中使此存储库成为专用复选框。

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

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

  10. 单击创建集成

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

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

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

使用 API 配置 GitHub

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

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

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