IBM Cloud Docs
使用工具集成

使用工具集成

您可以使用控制台,API 或 Terraform 来添加,更新和删除工具集成。 您可以在创建开放式工具链时配置支持开发、部署和操作任务的工具集成,也可以添加并配置工具集成,以定制现有工具链。

了解工具与 IBM Cloud for Financial Services 的集成

虽然 Continuous Delivery 和 Toolchain 服务指定为 IBM Cloud for Financial Services Validated,但此指定并不适用于您可以集成到工具链中的所有工具。

验证以下工具和工具集成:

  • Continuous Delivery 服务的 Git Repos and Issue Tracking 组件。
  • IBM Cloud 目录中未指定为“已验证金融服务”的服务的工具集成。
  • 不是由 IBM Cloud拥有和操作的第三方,客户或工具和服务的工具集成。

有关哪些工具和工具集成是“已验证的金融服务”的更多信息,请参阅 工具集成

有关 IBM Cloud for Financial Services 的更多信息,请参阅 IBM Cloud Framework for Financial Services

Continuous Delivery 服务是在与 IBM Cloud for Financial Services 相同的区域中验证的金融服务。 有关将哪些多专区区域指定为“已验证金融服务”的更多信息,请参阅 将 IBM Cloud 资源仅部署到已核准的多专区区域

使用控制台添加工具集成

您可以使用控制台将工具集成添加到工具链。

  1. 从IBM Cloud控制台,单击菜单图标汉堡包图标>平台自动化>工具链
  2. 在“工具链”页面,单击工具链打开其“概述”页面。 或者,在应用程序的“应用程序详细信息”页面,点击工具链名称。
  3. 要查看要添加的工具集成列表,请单击添加
  4. 单击要添加的工具集成。
  5. 输入配置工具集成所需的任何信息。
  6. 单击创建集成,以向工具链添加工具集成。

添加与 API 的工具集成

您可以使用 API 将工具集成添加到工具链。

  1. 获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。

    export CD_TOOLCHAIN_AUTH_TYPE=iam && \
    export CD_TOOLCHAIN_APIKEY={iam_api_key} && \
    export CD_TOOLCHAIN_URL={base_url}
    
  2. 查找要在其中创建工具集成的工具链的标识

  3. 查找对应于要添加的工具集成的 tool_type_id

  4. 在目标工具链中添加工具集成。

    curl -X POST --location --header "Authorization: Bearer {iam_token}" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
      --data '{ "name": "{tool_name}", "tool_type_id": "{tool_type_id}", "parameters": {tool_parameters} }' \
      "{base_url}/toolchains/{toolchain_id}/tools"
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const toolPrototypeModel = {
          toolchainId: {toolchain_id},
          toolTypeId: {tool_type_id},
          name: {tool_name},
          parameters: {tool_parameters}
       };
       const response = await toolchainService.createTool(toolPrototypeModel);
    })();
    
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    createToolOptions := toolchainClient.NewCreateToolOptions({toolchain_id}, {tool_type_id})
    createToolOptions.SetName({tool_name})
    createToolOptions.SetParameters({tool_parameters})
    tool, response, err := toolchainClient.CreateTool(createToolOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchain_service = CdToolchainV2.new_instance()
    tool = toolchain_service.create_tool(
       name = {tool_name},
       toolchain_id = {toolchain_id},
       tool_type_id = {tool_type_id},
       parameters = {tool_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();
    CreateToolOptions createToolOptions = new CreateToolOptions.Builder()
       .name({tool_name})
       .parameters({tool_parameters})
       .toolchainId({toolchain_id})
       .toolTypeId({tool_type_id})
       .build();
    Response<ToolchainToolPost> response = toolchainService.createTool(createToolOptions).execute();
    ToolchainToolPost tool = response.getResult();
    

下表列出并描述了先前步骤中使用的每个变量。

用于提供工具与应用程序接口集成的变量
变量 描述
{base_url} 工具链应用程序接口端点 URL。 有关支持值的更多信息,请参阅 端点 URL
{iam_api_key} 您的 IAM API 密钥。
{iam_token} 有效的 IAM 不记名令牌。
{tool_name} 工具集成的名称。
{tool_parameters} 表示用于创建工具集成的参数的唯一键/值对。 有关每个工具集成支持的参数的更多信息,请参阅 工具集成
{tool_type_id} 表示工具集成类型的唯一短名称。 有关受支持值的列表,请参阅 工具集成
{toolchain_id} 要在其中创建工具集成的工具链。

添加与 Terraform 的工具集成

您可以使用 Terraform 将工具集成添加到工具链。

  1. 要安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件,请遵循 IBM Cloud® 上的 Terraform 入门 的教程。

  2. 创建名为 main.tf 的 Terraform 配置文件。 在此文件中,添加配置以使用 HashiCorp 配置语言 (HCL) 创建资源实例。 有关使用此配置语言的更多信息,请参阅 Terraform 文档

    以下示例使用 ibm_cd_toolchain_tool_pipeline 资源创建 Delivery Pipeline 工具集成,其中 toolchain_id 是表示要在其中创建工具集成的工具链的 GUID。

    data "ibm_cd_toolchain" "cd_toolchain" {
      toolchain_id = {toolchain_id}
    }
    
    resource "ibm_cd_toolchain_tool_pipeline" "cd_pipeline" {
      toolchain_id = data.ibm_cd_toolchain.cd_toolchain.id
      parameters {
        name = "myPipeline"
      }
    }
    

    有关工具集成资源的更多信息,请参阅 IBM Cloud Terraform Registry中受支持工具集成资源的完整列表。

  3. 初始化 Terraform CLI。

    terraform init
    
  4. 创建 Terraform 执行计划。 此计划总结了为创建工具集成而必须运行的所有操作。

    terraform plan
    
  5. 应用 Terraform 执行计划。 Terraform 将执行所有必需的操作来创建工具集成。

    terraform apply
    

使用控制台更新工具集成

如果您在创建工具链时推迟了工具集成的配置,则其卡片上会显示一个“配置”按钮。 如果在创建工具链时配置了工具集成,则可以使用控制台更新配置设置。

  1. 从IBM Cloud控制台,单击菜单图标汉堡包图标>平台自动化>工具链
  2. 在“工具链”页面上,单击包含要更新的工具集成的工具链以打开其“概述”页面。 或者,在应用程序的“应用程序详细信息”页面,点击工具链名称。
  3. 如果您需要全新配置工具集成,请在其卡上,单击配置
  4. 完成配置工具集成时,单击保存集成
  5. 如果需要更新工具集成的配置,请单击 操作 图标 "操作" 图标 > 配置
  6. 完成更新设置时,单击保存集成

使用 API 更新工具集成

如果在创建工具链时配置了工具集成,则可以使用 API 更新配置设置。

  1. 获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。

    export CD_TOOLCHAIN_AUTH_TYPE=iam && \
    export CD_TOOLCHAIN_APIKEY={iam_api_key} && \
    export CD_TOOLCHAIN_URL={base_url}
    
  2. 查找工具集成所在工具链的标识

  3. 通过使用工具链的标识,查找工具集成的标识

  4. 更新目标工具链中的工具集成。

    curl -X PATCH --location --header "Authorization: Bearer {iam_token}" \
      --header "Accept: application/json" \
      --header "Content-Type: application/merge-patch+json" \
      --data '{ "name": "{new_tool_name}", "parameters": {new_tool_parameters} }' \
      "{base_url}/toolchains/{toolchain_id}/tools/{tool_id}"
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const toolPatchModel = {
          toolchainId: {toolchain_id},
          toolId: {tool_id},
          name: {new_tool_name},
          parameters: {new_tool_parameters}
       };
       const response = await toolchainService.updateTool(toolPatchModel);
    })();
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    toolPatchModel := map[string]interface{}{
       "name": {new_tool_name},
       "parameters": {new_tool_parameters},
    }
    updateToolOptions := toolchainClient.NewUpdateToolOptions({toolchain_id}, {tool_id}, toolPatchModel)
    tool, response, err := toolchainClient.UpdateTool(updateToolOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchain_service = CdToolchainV2.new_instance()
    tool = toolchain_service.update_tool(
       toolchain_id = {toolchain_id},
       tool_id = {tool_id},
       toolchain_tool_prototype_patch = {
          "name": {new_tool_name},
          "parameters": {new_tool_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> toolchainToolPrototypePatch = new HashMap<>();
    toolchainToolPrototypePatch.put("name", {new_tool_name});
    toolchainToolPrototypePatch.put("parameters", {new_tool_parameters});
    UpdateToolOptions updateToolOptions = new UpdateToolOptions.Builder()
       .toolchainId({toolchain_id})
       .toolId({tool_id})
       .toolchainToolPrototypePatch(toolchainToolPrototypePatch)
       .build();
    Response<ToolchainToolPatch> response = toolchainService.updateTool(updateToolOptions).execute();
    ToolchainToolPatch tool = response.getResult();
    

下表列出并描述了先前步骤中使用的每个变量。

用于更新工具与应用程序接口集成的变量
变量 描述
{base_url} 工具链应用程序接口端点 URL,例如 https://api.us-south.devops.cloud.ibm.com/toolchain/v2。 有关该端点 URL 的更多信息,包括值列表,请参阅 端点 URL
{iam_api_key} 您的 IAM API 密钥。
{iam_token} 有效的 IAM 不记名令牌。
{new_tool_name} 工具集成的新名称。
{new_tool_parameters} 表示用于更新工具集成的参数的唯一键/值对。 要查看每个工具集成的参数列表,请参阅 工具集成
{tool_id} 要更新的工具集成的标识。
{toolchain_id} 存在工具集成的工具链的标识。

使用 Terraform 更新工具集成

如果在创建工具链时配置了工具集成,则可以使用 Terraform 更新配置设置。

  1. 安装 Terraform CLI 并通过遵循 IBM Cloud 上的 Terraform 入门教程为 Terraform 配置 IBM Cloud 提供程序插件。

  2. 使用用于创建工具集成的 Terraform 配置文件。 如果未使用 Terraform 创建工具集成,请运行 terraform import 以避免创建其他工具集成。 有关使用此配置语言的更多信息,请参阅 Terraform 文档

    以下示例使用 ibm_cd_toolchain_tool_pipeline 资源更新现有 Delivery Pipeline 工具集成的名称,其中 toolchain_id 是表示存在工具集成的工具链的 GUID。

    data "ibm_cd_toolchain" "cd_toolchain" {
      toolchain_id = {toolchain_id}
    }
    
    resource "ibm_cd_toolchain_tool_pipeline" "cd_pipeline" {
      toolchain_id = data.ibm_cd_toolchain.cd_toolchain.id
      parameters {
        name = "myUpdatedPipelineName"
      }
    }
    

    有关工具集成资源的更多信息,请参阅 IBM Cloud Terraform Registry中受支持工具集成资源的完整列表。

  3. 初始化 Terraform CLI。

    terraform init
    
  4. 创建 Terraform 执行计划。 此计划总结了为修改工具集成而必须运行的所有操作。

    terraform plan
    
  5. 应用 Terraform 执行计划。 Terraform 将执行修改工具集成所需的所有操作。

    terraform apply
    

使用控制台删除工具集成

您可以使用控制台从工具链中删除工具集成。 如果从工具链删除工具集成,那么该删除操作无法撤销。

  1. 从IBM Cloud控制台,单击菜单图标汉堡包图标>平台自动化>工具链
  2. 在“工具链”页面,单击工具链打开其“概述”页面。 或者,在应用程序的“应用程序详细信息”页面,点击工具链名称。
  3. 在要删除的工具集成上,单击 操作 图标 "操作" 图标 > 删除
  4. 单击删除以确认。

删除与 API 的工具集成

您可以从工具链中删除工具与 API 的集成。 如果从工具链删除工具集成,那么该删除操作无法撤销。

  1. 获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。

    export CD_TOOLCHAIN_AUTH_TYPE=iam && \
    export CD_TOOLCHAIN_APIKEY={iam_api_key} && \
    export CD_TOOLCHAIN_URL={base_url}
    
  2. 查找工具集成所在工具链的标识

  3. 通过使用工具链的标识,查找工具集成的标识

  4. 删除目标工具链中的工具集成。

    curl -X DELETE --location --header "Authorization: Bearer {iam_token}" \
      "{base_url}/toolchains/{toolchain_id}/tools/{tool_id}"
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const response = await toolchainService.deleteTool({
          toolchainId: {toolchain_id},
          toolId: {tool_id}
       });
    })();
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    deleteToolOptions := toolchainClient.NewDeleteToolOptions({toolchain_id}, {tool_id})
    response, err := toolchainClient.DeleteTool(deleteToolOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchain_service = CdToolchainV2.new_instance()
    response = toolchain_service.delete_tool(
       toolchain_id = {toolchain_id},
       tool_id = {tool_id}
    )
    
    import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain;
    import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*;
    ...
    CdToolchain toolchainService = CdToolchain.newInstance();
    DeleteToolOptions deleteToolOptions = new DeleteToolOptions.Builder()
       .toolchainId({toolchain_id})
       .toolId({tool_id})
       .build();
    Response<Void> response = toolchainService.deleteTool(deleteToolOptions).execute();
    

下表列出并描述了先前步骤中使用的每个变量。

用于删除工具与应用程序接口集成的变量
变量 描述
{base_url} 工具链应用程序接口端点 URL。 有关该端点 URL 的更多信息,包括值列表,请参阅 端点 URL
{iam_api_key} 您的 IAM API 密钥。
{iam_token} 有效的 IAM 不记名令牌。
{tool_id} 要删除的工具集成的 ID。
{toolchain_id} 存在工具集成的工具链的标识。

删除与 Terraform 的工具集成

您可以使用 Terraform 从工具链中删除工具集成。 如果从工具链删除工具集成,那么该删除操作无法撤销。

  1. 要安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件,请遵循 IBM Cloud 上的 Terraform 入门 的教程。

  2. 使用用于创建工具集成的 Terraform 配置文件。 从配置文件中注释或除去工具集成资源。

  3. 初始化 Terraform CLI。

    terraform init
    
  4. 创建 Terraform 执行计划。 此计划汇总了为删除工具集成而必须运行的所有操作。

    terraform plan
    
  5. 应用 Terraform 执行计划。 Terraform 将执行删除工具集成所需的所有操作。

    terraform apply
    

工具集成

Continuous Delivery 服务支持多个工具集成。

虽然 Continuous Delivery 和 Toolchain 服务指定为 IBM Cloud for Financial Services Validated,但此指定并不适用于您可以集成到工具链中的所有工具。 下表指示哪些工具集成和工具在与 Continuous Delivery 工具链配合使用时指定为 IBM Cloud for Financial Services Validated。

如果要使用 Continuous Delivery 工具链 API 来创建工具集成,请将 API 请求中的 tool_type_id 参数设置为下表中列出的工具集成的 工具类型标识 值。

可用于IBM Cloud上工具链的工具集成}公共
工具集成 工具类型标识 已验证金融服务
App Configuration 应用程序配置
Artifactory Artifactory
Bitbucket 比特布克特吉特
Delivery Pipeline 管道 “勾选标记”图标
Delivery Pipeline 专用工作程序 私人工作者
DevOps Insights 德拉塞维切代理 “勾选标记”图标
Event Notifications 事件通知 “勾选标记”图标
Git Repos and Issue Tracking 霍斯特吉特
云 Object Storage 云对象存储
GitHub 吉图布综合公司
GitLab GitLab
HashiCorp 保险库文件 哈希科普金库
Jenkins Jenkins
Jira JIRA
Key Protect 密钥保护
Nexus Nexus
其他工具 定制工具
PagerDuty PagerDuty
Rational Team Concert 理性队演唱会
Sauce Labs 绍切拉布
Secrets Manager 分泌器管理器 “勾选标记”图标
Security and Compliance Center 安全合规 “勾选标记”图标
Slack 空隙
SonarQube sonarqube

如果您想要在 IBM Cloud Public 中开始使用源代码进行开发,请先配置 GitHub 工具集成或 Git Repos and Issue Tracking 工具集成,然后再配置 Delivery Pipeline。