IBM Cloud Docs
删除 DevOps Insights 数据

删除 DevOps Insights 数据

IBM Cloud® DevOps Insights 在高可用性的安全环境中托管数据。 客户机和系统凭证存储在加密的磁盘中。 只有那些需要数据来支持和维护DevOps Insights用户才能访问数据。 DevOps Insights 中存储的数据通过工具链标识建立索引。 删除工具链时,将删除与作为工具链一部分而收集的存储库的所有相关数据。

您可以通过以下方式删除数据:

  • 删除构建、测试和部署记录
  • 通过禁用来删除存储库的 DevOps Insights 数据
  • 删除工具链与 DevOps Insights 的集成
  • 从工具链中删除存储库

有关工具链的更多信息,请参阅通过应用程序创建工具链

IBM doesn't manage data in DevOps Insights. 如果您停止使用DevOps Insights,则必须删除自己的数据。 要删除数据,请从工具链中删除 DevOps Insights 工具集成。 如果 DevOps Insights 工具集成未在七天之内再次添加到该工具链,那么数据会被删除。

删除 DevOps Insights 数据集

通过“管理数据”仪表板,可以删除工具链、环境、应用程序或分支的 DevOps Insights 数据。 这将删除用于构建、测试结果和部署记录的所有 DevOps Insights 数据。 这些数据中包括预定义数据和定制数据,但不包括存储库数据。

数据删除后即无法恢复。

要查看“管理数据”仪表板,请完成以下步骤:

  1. 从IBM Cloud控制台,单击菜单图标汉堡包图标>平台自动化>工具链
  2. 在工具链页面,选择您的工具链。
  3. 从工具链的“概述”页面,在“IBM Cloud工具”卡片上单击 DevOps Insights
  4. 选择管理数据
  5. 选择质量数据

删除工具链数据

工具链数据是与该工具链关联的所有数据。 删除工具链数据不会删除该工具链或与该工具链关联的工具。 这将删除附加到该工具链的所有工具使用的数据。

  1. 要删除工具链数据,请转至管理数据 > 质量数据
  2. 选择工具链数据
  3. 单击删除

删除环境数据

环境数据是指与特定位置关联的数据。 例如,dallas-dev、dallas-prod、frankfurt-prod 或 frankfurt-staging。 要删除环境数据,请完成以下步骤:

  1. 转至管理数据 > 质量数据
  2. 选择环境数据
  3. 选择包含要删除的数据的环境。
  4. 单击删除

删除应用程序数据

应用程序数据是与附加到工具链的特定应用程序关联的所有数据。 要删除环境数据集,请完成以下步骤:

  1. 转至管理数据 > 质量数据
  2. 选择应用程序数据
  3. 选择包含要删除的数据的应用程序,然后单击删除

删除应用程序的分支数据

应用程序的分支数据是与应用程序的特定存储库关联的数据。 例如,编译打包存储库的主分支。

  1. 要删除环境数据,请转至管理数据 > 质量数据
  2. 选择应用程序的分支数据
  3. 选择应用程序和包含要删除的数据的分支。
  4. 单击删除

删除 DevOps Insights 工具集成

要删除 DevOps Insights 工具集成,必须从工具链中删除 DevOps Insights。 要从工具链中删除DevOps Insights,请完成以下步骤,通过控制台、API 或 Terraform 删除工具集成。

使用控制台删除DevOps Insights工具集成

  1. 单击菜单图标汉堡包图标>平台自动化>工具链
  2. 在工具链页面,选择您的工具链。
  3. 在工具链的“概述”页面的 IBM Cloud工具卡上,单击DevOps Insights实例上的溢出图标省略号图标。 然后,选择删除

删除与 API 集成的DevOps Insights工具

  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. 确定工具链的区域和 ID

  3. 确定DevOps Insights工具集成的 ID。

    curl -X GET \
      {base_url}/toolchains/{toolchain_id}/tools \
      -H "Authorization: Bearer {token}" \
      -H "Accept: application/json"
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    ...
    const toolchainService = CdToolchainV2.newInstance();
    const tools = await toolchainService.listTools({
       toolchainId: {toolchain_id},
    });
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    	toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    	listToolsOptions := toolchainClient.NewListToolsOptions({toolchain_id})
    	tools, response, err := toolchainClient.ListTools(listToolsOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchain_service = CdToolchainV2.new_instance()
    tools = toolchain_service.list_tools(
       toolchain_id = {toolchain_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();
    ListToolsOptions listToolsOptions = new ListToolsOptions.Builder()
       .toolchainId({toolchain_id})
       .build();
    Response<ToolchainToolCollection> response = toolchainService.listTools(listToolsOptions).execute();
    ToolchainToolCollection tools = response.getResult();
    
  4. 从工具链中删除DevOps Insights工具集成。

    curl -X DELETE \
      {base_url}/toolchains/{toolchain_id}/tools/{tool_integration_id} \
      -H 'Authorization: Bearer {token}'
    
    const response = await toolchainService.deleteTool({
       toolchainId: {toolchain_id},
       toolId: {tool_integration_id}
    });
    
    deleteToolOptions := toolchainClient.NewDeleteToolOptions({toolchain_id}, {tool_integration_id})
    response, err := toolchainClient.DeleteTool(deleteToolOptions)
    
    response = toolchainService.delete_tool(
       toolchain_id = {toolchain_id},
       tool_id = {tool_integration_id}
    )
    
    DeleteToolOptions deleteToolOptions = new DeleteToolOptions.Builder()
       .toolchainId({toolchain_id})
       .toolId({tool_integration_id})
       .build();
    Response<Void> response = toolchainService.deleteTool(deleteToolOptions).execute();
    

下表列出并说明了前面步骤中使用的各个变量。

用于删除与应用程序接口集成的DevOps Insights工具的变量
变量 描述
{base_url} 工具链应用程序接口端点 URL,例如 https://api.us-south.devops.cloud.ibm.com/toolchain/v2。 有关该端点 URL 的更多信息(包括值列表),请参阅 端点 URL
{iam_api_key} 您的 IAM API 密钥。
{tool_integration_id} 工具集成的 ID。
{toolchain_id} 要删除工具集成的工具链 ID。
{token} 有效的 IAM 不记名令牌。

有关DevOps Insights工具集成的更多信息,请参阅 添加DevOps Insights

删除与 Terraform 集成的DevOps Insights工具

  1. 找到包含现有DevOps Insights工具集成 resource 块的 Terraform 文件(例如 main.tf)。

    下面示例中的 resource 块描述了现有工具链与DevOps Insights工具的集成。

    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_devopsinsights" "cd_toolchain_tool_insights" {
      toolchain_id = ibm_cd_toolchain.cd_toolchain.id
    }
    
  2. 删除 Terraform 文件中的 resource "ibm_cd_toolchain_tool_devopsinsights" 块。

  3. 初始化 Terraform CLI。

    terraform init
    
  4. 创建 Terraform 执行计划。 该计划总结了删除DevOps Insights工具集成必须执行的所有操作。

    terraform plan
    
  5. 应用 Terraform 执行计划。 Terraform 会执行所有必要操作来删除DevOps Insights工具集成。

    terraform apply
    

有关在Continuous Delivery 中使用 Terraform 的更多信息,请参阅 为Continuous Delivery设置 Terraform

删除存储库

删除存储库时,还将删除与该存储库相关的所有数据。

  1. 单击菜单图标汉堡包图标>平台自动化>工具链
  2. 在工具链页面,选择您的工具链。
  3. 在工具链的“概览”页面的“版本库”卡片上,单击要删除的版本库上的溢出图标省略号图标。 然后,选择删除