使用 Git 创建工具链
Continuous Delivery 将于 2026 年 4 月 10 日在以下地区停止使用:欧盟成员国 和 jp-osa。 此终止也适用于服务中提供的任何功能,包括代码风险分析器和 DevOps Insights。 了解更多
Continuous Delivery 将于 2027 年 2 月 12 日在以下地区停用:澳大利亚-叙利亚、加拿大-孟买、加拿大-多尔、美国-东部。 代码风险分析器和 DevOps Insights 也将于当日在所有地区停用。 但是,如果某个区域没有使用这些功能,则该区域的功能可能会提前终止,并停止接受新实例。 了解更多
您可以使用包含 Git Repos and Issue Tracking 或 GitHub 工具集成的模板作为起点,创建工具链,并将 Git 资源库 (repos) 添加到工具链中。 或者,您也可以从一个空工具链或现有工具链开始,然后在其中添加 Git Repos and Issue Tracking 或 GitHub 工具集成。
要查看哪些工具链模板包含 Git Repos and Issue Tracking 或 GitHub 工具集成,请参阅 工具链可用性,模板和教程。
使用 Git Repos and Issue Tracking 或 GitHub 使用控制台从模板创建工具链
您可以使用模板作为起点来 创建工具链,该工具链包含 Git Repos and Issue Tracking 或 GitHub 工具集成。 进一步了解如何使用 IBM Cloud Garage Method 中的模板。
-
登录到 IBM Cloud。
-
从IBM Cloud控制台,单击菜单图标
>平台自动化>工具链。
-
在 DevOps 仪表板的工具链页面上,单击创建工具链。
-
在创建工具链页面上,单击工具链模板。
-
复查您要创建的工具链的图。 该图按生命周期阶段显示工具链中的每一个工具集成。
-
复查工具链设置的缺省信息:
- 工具链的名称在 IBM Cloud 中起到标识符的作用。 如果要使用其他名称,请更改工具链的名称。
- 要在其中创建工具链的区域。 如果要使用其他区域,请从可用区域列表中选择该区域。
- 创建工具链的资源组。 如果要使用不同的资源组,请从可用资源组列表中选择。
- 源代码库的提供程序,如 GitHub 或 GitLab。 如果要使用其他源提供者,请从可用存储库列表中进行选择。
-
在“工具集成”部分中,选择要为工具链配置的每一个工具集成。 有关配置工具集成的更多信息,请参阅配置工具集成。
-
单击创建。 此时将自动运行数个步骤,以设置工具链。 根据您选择的工具链模板,设置的工具集成有所不同。 例如,当您在 IBM Cloud Public 上创建微服务工具链时,会运行以下步骤:
- 将创建工具链。
- 如果已配置 Delivery Pipeline,那么会创建并触发管道。
- 如果已配置 Sauce Labs,那么会设置工具链以向管道添加 Sauce Labs 测试作业。
- 如果您配置了 Event Notifications,工具链将被设置为向您指定的 Event Notifications 服务发送事件通知。
- 如果已配置 PagerDuty,那么会设置工具链,以向指定的 PagerDuty 服务发送警报通知。
- 如果已配置 Slack,那么会设置工具链,以向指定的 Slack 通道发送有关部署状态的通知。
- 如果已配置源代码工具集成(如 GitHub),那么样本 GitHub 存储库会克隆到 GitHub 帐户。
现在,您可以通过使用 Event NotificationsIBM Cloud Event Notifications 是向 PagerDuty 和其他通信渠道(如 Slack、电子邮件、短信、推送通知、webhook、Microsoft® Teams、ServiceNow, 和 IBM Cloud Functions )分发通知的首选方法。 有关使用 Event Notifications 的更多信息,请参阅 为工具链启用事件通知。
使用 Git Repos and Issue Tracking 或使用 API 从模板创建工具链 GitHub
只能使用控制台根据模板创建工具链。 要查看使用控制台的步骤,请切换到 UI 指示信息。
有关如何使用 API 而不是使用模板创建工具链的更多信息,请参阅 使用 API 将 Git 工具集成添加到现有工具链。
使用 Git Repos and Issue Tracking 或 GitHub with Terraform 从模板创建工具链
只能使用控制台根据模板创建工具链。 要查看使用控制台的步骤,请切换到 UI 指示信息。
有关如何使用 Terraform 而不是使用模板来创建工具链的更多信息,请参阅 将 Git 工具集成添加到具有 Terraform 的现有工具链。
使用控制台将 Git 工具集成添加到现有工具链
您可以使用控制台向任何现有工具链添加 Git 工具集成。
- 登录到 IBM Cloud。
- 从 IBM Cloud 控制台,单击菜单图标
,选择资源列表。
- 从“资源”列表中,展开 开发者工具 部分。
- 单击要向其添加 Git 工具集成的工具链,或者创建工具链。 有关创建工具链的信息,请参阅 创建工具链。
- 在“工具链的概述”页面上,单击 添加工具,然后选择 GitHub 或 Git Repos and Issue Tracking 以将其中任一工具集成添加到工具链。
- 根据您选择的 Git 工具集成,可以 配置 GitHub 工具集成,也可以配置 Git Repos and Issue Tracking 工具集成。
使用 API 将 Git 工具集成添加到现有工具链
您可以使用 API 向任何现有工具链添加 Git 工具集成。
-
获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL=https://api.{region}.devops.cloud.ibm.com/toolchain/v2 -
将 Git 工具集成添加到工具链。 以下示例显示如何添加链接到 github.com上的现有存储库的 Git 工具集成。 您还可以添加 Git 工具集成,其中包含有关创建,派生或克隆新存储库的指示信息。 你还可以为其他GitHub, GitLab,或 Bitbucket 服务器添加工具集成。
curl -X POST \ https://api.{region}.devops.cloud.ibm.com/toolchain/v2/toolchains/{toolchain_id}/tools \ -H 'Authorization: Bearer {token}' \ -H 'Accept: application/json` \ -H 'Content-Type: application/json' \ -d '{ "tool_type_id": "githubconsolidated", "name": "{tool_integration_name}", "parameters": { "type": "link", "git_id": "github", "repo_url": "https://github.com/{git_org}/{git-repo}.git", "has_issues": true } }'const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2'); const toolchainService = CdToolchainV2.newInstance(); ... (async() => { const gitToolModel = { toolchainId: {toolchain_id}, toolTypeId: 'githubconsolidated', name: {tool_integration_name}, parameters: { type: 'link', git_id: 'github', repo_url: 'https://github.com/{git_org}/{git-repo}.git', has_issues: true, } }; const gitTool = await toolchainService.createTool(gitToolModel); })();import ( "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2" ) ... toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{} toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions) createGitToolOptions := toolchainClient.NewCreateToolOptions({toolchain_id}, "githubconsolidated") gitParameters := map[string]interface{}{ "type": "link", "git_id": "github", "repo_url": "https://github.com/{git_org}/{git-repo}.git", "has_issues": true, } createGitToolOptions.SetName({tool_integration_name}) createGitToolOptions.SetParameters(gitParameters) gitTool, response, err := toolchainClient.CreateTool(createGitToolOptions)from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2 ... toolchain_service = CdToolchainV2.new_instance() git_parameters = { "type": "link", "git_id": "github", "repo_url": "https://github.com/{git_org}/{git-repo}.git", "has_issues": True } git_tool = toolchain_service.create_tool( name = {tool_integration_ame}, toolchain_id = {toolchain_id}, tool_type_id = "githubconsolidated", parameters = git_parameters )import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain; import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*; ... CdToolchain toolchainService = CdToolchain.newInstance(); HashMap<String, Object> gitParameters = new HashMap<>(); gitParameters.put("type", "link"); gitParameters.put("git_id", "github"); gitParameters.put("repo_url", "https://github.com/{git_org}/{git-repo}.git"); gitParameters.put("has_issues", true); CreateToolOptions createGitToolOptions = new CreateToolOptions.Builder() .name({tool_integration_name}) .parameters(gitParameters) .toolchainId({toolchain_id}) .toolTypeId("githubconsolidated") .build(); Response<ToolchainToolPost> response = toolchainService.createTool(createGitToolOptions).execute(); ToolchainToolPost gitTool = response.getResult();
下表列出并描述了先前步骤中使用的每个变量。
| 变量 | 描述 |
|---|---|
{git_org} |
github.com 上包含存储库的组织。 |
{git_repo} |
github.com 上要集成到工具链中的存储库。 |
{iam_api_key} |
您的 IAM API 密钥。 |
{region} |
工具链所在的区域。 例如,us-south。 |
{tool_integration_name} |
工具集成的名称。 |
{toolchain_id} |
要向其添加工具集成的工具链的标识。 |
{token} |
有效的 IAM 不记名令牌。 |
有关每个 Git 工具集成 (包括您可以配置的其他参数) 的更多信息,请参阅以下主题:
将 Git 工具集成添加到具有 Terraform 的现有工具链
您可以将 Git 工具集成添加到具有 Terraform 的任何现有工具链。
-
要安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件,请遵循 IBM Cloud 上的 Terraform 入门 的教程。
-
找到包含要向其添加 Git 工具集成的工具链的资源块的 Terraform 文件 (例如,
main.tf)。 在此文件中,添加配置以创建工具集成。如果工具链不存在,那么以下示例将创建工具链,然后使用
ibm_cd_toolchain_tool_githubconsolidated资源添加链接到 github.com 上的现有存储库的 Git 工具集成。 您还可以添加 Git 工具集成,其中包含有关创建,派生或克隆新存储库的指示信息。 你还可以为其他GitHub, GitLab,或 Bitbucket 服务器添加工具集成。data "ibm_resource_group" "group" { name = "default" } resource "ibm_cd_toolchain" "cd_toolchain" { name = "my toolchain" resource_group_id = data.ibm_resource_group.group.id } resource "ibm_cd_toolchain_tool_githubconsolidated" "my-github-tool-integration" { toolchain_id = ibm_cd_toolchain.cd_toolchain.id initialization { git_id = "github" repo_url = "https://github.com/my-org/my-repo.git" type = "link" auth_type = "pat" api_token = "<TOKEN>" } parameters { has_issues = true } }其中
<TOKEN>表示属于 GitHub 帐户的个人访问令牌 (PAT),该帐户授予对目标存储库的访问权。 -
初始化 Terraform CLI。
terraform init -
创建 Terraform 执行计划。 此计划汇总了为将 DevOps Insights 工具集成添加到工具链而必须运行的所有操作。
terraform plan -
应用 Terraform 执行计划。 Terraform 将执行所有必需操作以将 DevOps Insights 工具集成添加到工具链。
terraform apply
有关每个 Git 工具集成资源 (包括可配置的其他参数) 的更多信息,请参阅 Terraform Registry 文档中的参数参考详细信息:
- Bitbucket
ibm_cd_toolchain_tool_bitbucketgit - GitHub:
ibm_cd_toolchain_tool_githubconsolidated - Git Repos and Issue Tracking: ibm_cd_toolchain_tool_hostedgit
- GitLab:
ibm_cd_toolchain_tool_gitlab
有关将 Terraform 与 Continuous Delivery配合使用的更多信息,请参阅 为 Continuous Delivery。