使用工具集成
DevOps Insights 该服务将于 2026 年 8 月 31 日停止提供并终止。Continuous Delivery 将于 2027 年 2 月 12 日在以下区域停止提供:au-syd、ca-tor、us-east。 Code Risk Analyzer 也将于该日期在所有地区停止提供服务。 如果某个区域未实际使用这些功能,该区域内的相关功能可能会提前停用,并停止接受新实例。 了解更多
您可以使用控制台,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 资源部署到已批准的多区域区域》。
使用控制台添加工具集成
您可以使用控制台将工具集成添加到工具链。
- 从IBM Cloud控制台,单击菜单图标
>平台自动化>工具链。
- 在“工具链”页面上,单击某个工具链以打开其“概述”页面。 或者,在您应用的“应用详情”页面上,点击工具链名称。
- 要查看待添加的工具集成列表,请点击 “添加”。
- 单击要添加的工具集成。
- 输入配置工具集成所需的任何信息。
- 单击创建集成,以向工具链添加工具集成。
添加与 API 的工具集成
您可以使用 API 将工具集成添加到工具链。
-
获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL={base_url} -
在目标工具链中添加工具集成。
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} |
Toolchain API 端点 URL。 有关支持值的更多信息,请参阅 端点 URL。 |
{iam_api_key} |
您的 IAM API 密钥。 |
{iam_token} |
一个有效的 IAM 承载令牌。 |
{tool_name} |
工具集成的名称。 |
{tool_parameters} |
表示用于创建工具集成的参数的唯一键/值对。 有关每个工具集成支持的参数的更多信息,请参阅 工具集成。 |
{tool_type_id} |
表示工具集成类型的唯一短名称。 有关受支持值的列表,请参阅 工具集成。 |
{toolchain_id} |
要在其中创建工具集成的工具链。 |
添加与 Terraform 的工具集成
您可以使用 Terraform 将工具集成添加到工具链。
-
要安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件,请遵循 IBM Cloud® 上的 Terraform 入门 的教程。
-
创建一个名为
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中受支持工具集成资源的完整列表。
-
初始化 Terraform CLI。
terraform init -
创建 Terraform 执行计划。 此计划总结了为创建工具集成而必须运行的所有操作。
terraform plan -
应用 Terraform 执行计划。 Terraform 将执行所有必需的操作来创建工具集成。
terraform apply
使用控制台更新工具集成
如果您在创建工具链时推迟了工具集成的配置,则该工具卡片上会显示一个“配置”按钮。 如果您在创建工具链时配置了工具集成,则可以通过控制台更新配置设置。
- 从IBM Cloud控制台,单击菜单图标
>平台自动化>工具链。
- 在“工具链”页面上,单击包含要更新的工具集成的工具链以打开其“概述”页面。 或者,在您应用的“应用详情”页面上,点击工具链名称。
- 如果您需要全新配置工具集成,请在其卡上,单击配置。
- 完成配置工具集成时,单击保存集成。
- 如果需要更新工具集成的配置,请单击 操作 图标
> 配置。
- 完成更新设置时,单击保存集成。
使用 API 更新工具集成
如果您在创建工具链时配置了工具集成,则可以通过 API 更新配置设置。
-
获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL={base_url} -
通过使用工具链的标识,查找工具集成的标识。
-
更新目标工具链中的工具集成。
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 更新配置设置。
-
安装 Terraform CLI 并通过遵循 IBM Cloud 上的 Terraform 入门教程为 Terraform 配置 IBM Cloud 提供程序插件。
-
使用用于创建工具集成的 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中受支持工具集成资源的完整列表。
-
初始化 Terraform CLI。
terraform init -
创建 Terraform 执行计划。 此计划总结了为修改工具集成而必须运行的所有操作。
terraform plan -
应用 Terraform 执行计划。 Terraform 将执行修改工具集成所需的所有操作。
terraform apply
使用控制台删除工具集成
您可以使用控制台从工具链中删除工具集成。 如果从工具链删除工具集成,那么该删除操作无法撤销。
- 从IBM Cloud控制台,单击菜单图标
>平台自动化>工具链。
- 在“工具链”页面上,单击某个工具链以打开其“概述”页面。 或者,在您应用的“应用详情”页面上,点击工具链名称。
- 在要删除的工具集成上,单击 操作 图标
> 删除。
- 单击删除以确认。
删除与 API 的工具集成
您可以从工具链中删除工具与 API 的集成。 如果从工具链删除工具集成,那么该删除操作无法撤销。
-
获取 IAM 不记名令牌。 或者,如果您正在使用 SDK,请 获取 IAM API 密钥,并使用环境变量设置客户机选项。
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL={base_url} -
通过使用工具链的标识,查找工具集成的标识。
-
删除目标工具链中的工具集成。
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} |
Toolchain API 端点 URL。 有关该端点 URL 的更多信息,包括值列表,请参阅 端点 URL。 |
{iam_api_key} |
您的 IAM API 密钥。 |
{iam_token} |
一个有效的 IAM 承载令牌。 |
{tool_id} |
要删除的工具集成 ID。 |
{toolchain_id} |
存在工具集成的工具链的标识。 |
删除与 Terraform 的工具集成
您可以使用 Terraform 从工具链中删除工具集成。 如果从工具链删除工具集成,那么该删除操作无法撤销。
-
要安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件,请遵循 IBM Cloud 上的 Terraform 入门 的教程。
-
使用用于创建工具集成的 Terraform 配置文件。 从配置文件中注释或除去工具集成资源。
-
初始化 Terraform CLI。
terraform init -
创建 Terraform 执行计划。 此计划汇总了为删除工具集成而必须运行的所有操作。
terraform plan -
应用 Terraform 执行计划。 Terraform 将执行删除工具集成所需的所有操作。
terraform apply
工具集成
Continuous Delivery 服务支持多个工具集成。
虽然 Continuous Delivery 和 Toolchain 服务指定为 IBM Cloud for Financial Services Validated,但此指定并不适用于您可以集成到工具链中的所有工具。 下表列出了哪些工具集成和工具在与 Continuous Delivery 工具链配合使用时,被指定为金融服务验证的 IBM Cloud。
若您正在使用 Continuous Delivery 工具链API创建工具集成,请在API请求中将 tool_type_id 参数设置为下表所列工具集成对应的工具类型ID 值。
| 工具集成 | 工具类型标识 | 已验证金融服务 |
|---|---|---|
| App Configuration | 应用程序配置 | |
| Artifactory | Artifactory | |
| Bitbucket | 比特布克特吉特 | |
| 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 | 理性队演唱会 | |
| Sauce Labs | 绍切拉布 | |
| Secrets Manager | 分泌器管理器 | |
| Slack | 空隙 | |
| SonarQube | sonarqube |
如果您想要在 IBM Cloud Public 中开始使用源代码进行开发,请先配置 GitHub 工具集成或 Git Repos and Issue Tracking 工具集成,然后再配置 Delivery Pipeline。