使用工具整合

DevOps Insights 將於 2026 年 8 月 31 日結束服務並停止運作。Continuous Delivery 將於 2027 年 2 月 12 日在以下地區停止運作:au-sydca-torus-east。 Code Risk Analyzer 也將於該日於所有地區停止服務。 若某個區域未實際使用這些功能,該區域中的功能可能會提前停用,並停止接受新的實例。 了解更多

您可以使用主控台、API 或 Terraform 來新增、更新及刪除工具整合。 您可以在建立開放式工具鏈時配置可支援開發、部署及操作作業的工具整合,也可以新增及配置用來自訂現有工具鏈的工具整合。

瞭解與 IBM Cloud for Financial Services 的工具整合

雖然 Continuous Delivery 及工具鏈服務指定為 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. 查閱您要在其中建立工具整合的工具鏈 ID

  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();
    

下表列出並說明先前步驟中使用的每一個變數。

用於配置工具與 API 整合的變數
變數 說明
{base_url} 工具鏈 API 端點 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 提供者外掛程式,請遵循 開始使用 Terraform on IBM Cloud® 的指導教學。

  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 登錄中受支援工具整合資源的完整清單。

  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. 查閱工具整合所在的工具鏈 ID

  3. 使用工具鏈的 ID,查閱工具整合的 ID

  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();
    

下表列出並說明先前步驟中使用的每一個變數。

用於更新工具與 API 整合的變數
變數 說明
{base_url} 工具鏈 API 端點 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} 您要更新之工具整合的 ID。
{toolchain_id} 工具整合所在的工具鏈 ID。

更新工具與 Terraform 的整合

若您在建立工具鏈時已設定工具整合,即可透過 Terraform 更新相關設定。

  1. 透過遵循 開始使用 Terraform on IBM Cloud的指導教學,安裝 Terraform CLI 並配置 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 登錄中受支援工具整合資源的完整清單。

  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. 查閱工具整合所在的工具鏈 ID

  3. 使用工具鏈的 ID,查閱工具整合的 ID

  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();
    

下表列出並說明先前步驟中使用的每一個變數。

用於刪除工具與 API 整合的變數
變數 說明
{base_url} 工具鏈 API 端點 URL。 如需更多關於此端點 URL 的資訊,包括值清單,請參閱 端點 URL
{iam_api_key} 您的 IAM API 金鑰。
{iam_token} 一個有效的 IAM 承載者憑證。
{tool_id} 您要刪除的工具整合的 ID。
{toolchain_id} 工具整合所在的工具鏈 ID。

刪除與 Terraform 的工具整合

您可以使用 Terraform 從工具鏈中刪除工具整合。 如果您從工具鏈刪除工具整合,便無法復原刪除作業。

  1. 若要安裝 Terraform CLI 並配置 Terraform 的 IBM Cloud 提供者外掛程式,請遵循 開始使用 Terraform on IBM Cloud 的指導教學。

  2. 使用您用來建立工具整合的 Terraform 配置檔。 在配置檔中註解或移除工具整合資源。

  3. 起始設定 Terraform CLI。

    terraform init
    
  4. 建立 Terraform 執行計劃。 此計劃彙總必須執行以刪除工具整合的所有動作。

    terraform plan
    
  5. 套用 Terraform 執行計畫。 Terraform 會採取所有必要的動作來刪除工具整合。

    terraform apply
    

工具整合

Continuous Delivery 服務支援數個工具整合。

雖然 Continuous Delivery 及工具鏈服務指定為 IBM Cloud for Financial Services Validated,但此指定不適用於您可以整合至工具鏈的所有工具。 下表標示哪些工具整合與工具在搭配使用 Continuous Delivery 工具鏈時,被指定為金融服務驗證的 IBM Cloud。

若您使用 Continuous Delivery 工具鏈API建立工具整合,請在API請求中將 tool_type_id 參數設定為下列表格所列工具整合對應的工具類型ID 值。

可用於IBM Cloud Public 上的工具鏈的工具集成
工具整合 工具類型 ID 已驗證金融服務
App Configuration 應用程式設定
Artifactory Artifactory
Bitbucket Bitbucket Git
Delivery Pipeline 管線 勾號圖示
Delivery Pipeline 專用工作者 私人工作者
DevOps Insights 德拉塞維克經紀人 勾號圖示
Event Notifications 活動通知 勾號圖示
Git Repos and Issue Tracking 霍斯特吉特
雲端 Object Storage 雲端物件儲存
GitHub 吉圖布合併
GitLab GitLab
HashiCorp Vault 雜湊科普沃
Jenkins Jenkins
JIRA JIRA
Key Protect 按鍵保護
Nexus Nexus
其他工具 自訂工具
PagerDuty PagerDuty
Rational Team Concert rationalteamConcert
Sauce Labs 紹塞拉夫
Secrets Manager 秘密管理員 勾號圖示
Slack Slack
SonarQube sonarqube

如果您要在 IBM Cloud Public 上開始使用原始碼進行開發,請先配置 GitHub 工具整合或 Git Repos and Issue Tracking 工具整合,再配置 Delivery Pipeline。