IBM Cloud Docs
创建 Continuous Delivery 服务实例

创建 Continuous Delivery 服务实例

您必须具有 IBM Cloud® Continuous Delivery 服务实例,然后才能创建和使用包含特定工具集成的工具链。 有关此限制的更多信息,请参阅 服务实例的作用域

创建 Continuous Delivery 服务实例后,可以 创建持续交付工具链

只能在区域和资源组中有一个活动的 Continuous Delivery 实例。 有关删除现有服务实例的信息,请参阅 删除 Continuous Delivery 服务实例

如果您在 企业 中具有多个具有 Professional 套餐的 Continuous Delivery 服务实例,那么您可能能够减少为其计费帐户的授权用户总数。 要了解更多信息,请参阅 合并计费

使用控制台创建 Continuous Delivery 服务实例

  1. 登录到 IBM Cloud
  2. 在 IBM Cloud 控制台中,单击 目录 并选择 服务
  3. 选择 Developer Tools 类别。
  4. 单击 Continuous Delivery 磁贴。
  5. 选择要创建Continuous Delivery服务的区域。
  6. 选择简易版或专业版定价方案。 Lite 套餐免费向小型团队提供 Continuous Delivery 的完整功能,并且具有使用限制。 如果创建轻量套餐实例,那么会在创建 30 天后自动将其删除。 有关 Continuous Delivery 服务套餐的更多信息,请参阅 套餐限制和使用情况
  7. 配置资源 部分中,指定要创建的 Continuous Delivery 实例的名称。
  8. 选择要创建Continuous Delivery服务实例的资源组。 创建 Continuous Delivery 服务实例后,无法更改所选资源组。 有关如何在 IBM Cloud 帐户中组织资源的更多信息,请参阅 在资源组中组织资源的最佳实践
  9. 指定要用于组织和过滤资源列表中的资源的标记。 您还可以使用这些标记来标识团队使用情况或成本分配。 这些标记在帐户范围内可见。 有关使用标记的更多信息,请参阅 使用标记
  10. 如果选择了专业定价套餐,那么可以选择 IBM® Key Protect for IBM Cloud® 服务的实例或 IBM Cloud® Hyper Protect Crypto Services的实例以及用于加密个人信息的根密钥。 确保 Key Protect 实例或 Hyper Protect Crypto Services 实例和根密钥存在,并且工具链资源有权访问 管理授权 部分中的 Key Protect 或 Hyper Protect Crypto Services。 Hyper Protect Crypto Services 服务实例当前仅支持专用端点。 有关加密哪些类型的数据的更多信息,请参阅 使用专业套餐时保护个人数据
  11. 单击创建

从 CLI 创建 Continuous Delivery 服务实例

  1. 使用 IBM Cloud CLI 登录到 IBM Cloud。

    ibmcloud login
    

    如果登录失败,请运行 ibmcloud login --sso 命令重试。 使用联合标识登录时需要 --sso 参数。 如果使用此选项,请转至 CLI 输出中列出的链接以生成一次性密码。

  2. 选择要创建Continuous Delivery服务实例的帐户、区域和资源组。

    ibmcloud target -c ACCOUNT -r REGION -g RESOURCE_GROUP
    
  3. 在目标帐户,区域和资源组中创建 Continuous Delivery 的实例。

    ibmcloud resource service-instance-create INSTANCE_NAME continuous-delivery PLAN REGION -p ENCRYPTION
    

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

用于通过 CLI 配置Continuous Delivery服务的变量
变量 描述
ACCOUNT 要在其中供应服务实例的帐户的名称或标识。 要查找可用帐户的名称和标识,请运行 ibmcloud account list
ENCRYPTION 可选。 要供应服务实例以使用客户管理的加密,请附加 -p '{"kms_info": {"id": <kms_instance_id>, "url": <kms_url>}, "kms_key": {"id": <kms_root_key_id>, "crn": <kms_transaction_crn>}}
INSTANCE_NAME 服务实例的名称。
PLAN 您要使用的定价计划的名称或 ID。 要查找可用套餐的名称和标识,请运行 ibmcloud catalog service continuous-delivery
REGION 要在其中供应服务实例的区域。 例如,us-south
RESOURCE_GROUP 要在其中供应服务实例的资源组的名称或标识。 要查找可用资源组的名称和标识,请运行 ibmcloud resource groups

有关套餐标识或如何在创建实例后更新服务套餐的更多信息,请参阅 更新服务套餐

使用 API 创建 Continuous Delivery 服务实例

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

    export RESOURCE_CONTROLLER_APIKEY={iam_api_key}
    
  2. 查找要在其中创建实例的资源组的标识

  3. 选择要在其中创建实例的区域。

  4. 查找要创建的实例的服务套餐标识

  5. 在目标帐户,区域和资源组中创建 Continuous Delivery 的实例。

    curl -X POST \
      https://resource-controller.cloud.ibm.com/v2/resource_instances \
      -H 'Authorization: Bearer {token}' \
      -H 'Content-Type: application/json' \
        -d '{
        "name": "{instance_name}",
        "target": "{region}",
        "resource_group": "{resource_group_id}",
        "resource_plan_id": "{plan_id}"
        "parameters": "{parameters}"
      }'
    
    import com.ibm.cloud.platform_services.resource_controller.v2.ResourceController;
    import com.ibm.cloud.platform_services.resource_controller.v2.model.*;
    ...
    ResourceController resourceControllerService = ResourceController.newInstance();
    CreateResourceInstanceOptions createCdInstanceOptions = new CreateResourceInstanceOptions.Builder()
       .name({instance_name})
       .target({region})
       .resourceGroup({resource_group_id})
       .resourcePlanId({plan_id})
       .build();
    Response<ResourceInstance> response = resourceControllerService.createResourceInstance(createCdInstanceOptions).execute();
    ResourceInstance cdInstance = response.getResult();
    
    const ResourceControllerV2 = require('@ibm-cloud/platform-services/resource-controller/v2');
    const resourceControllerService = ResourceControllerV2.newInstance({});
    ...
    (async () => {
       const params = {
          name: {instance_name},
          target: {region},
          resourceGroup: {resource_group_id},
          resourcePlanId: {plan_id},
       };
       const res = await resourceControllerService.createResourceInstance(params);
       const cdInstanceGuid = res.result.guid;
    })();
    
    from ibm_platform_services import ResourceControllerV2
    ...
    resource_controller_service = ResourceControllerV2.new_instance()
    cd_instance = resource_controller_service.create_resource_instance(
       name={instance_name},
       target={region},
       resource_group={resource_group_id},
       resource_plan_id={plan_id}
    ).get_result()
    
    import {
       "github.com/IBM/platform-services-go-sdk/resourcecontrollerv2"
    }
    ...
    resourceControllerServiceOptions := &resourcecontrollerv2.ResourceControllerV2Options{}
    resourceControllerService, err := resourcecontrollerv2.NewResourceControllerV2UsingExternalConfig(resourceControllerServiceOptions)
    createCdInstanceOptions := resourceControllerService.NewCreateResourceInstanceOptions(
       {instance_name},
       {region},
       {resource_group_id},
       {plan_id},
    )
    cdInstance, response, err := resourceControllerService.CreateResourceInstance(createCdInstanceOptions)
    

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

用于使用 API 配置Continuous Delivery服务的变量
变量 描述
{iam_api_key} 您的 IAM API 密钥。
{instance_name} 服务实例的名称。
{parameters} 要供应服务实例以使用客户管理的加密,请传递以下参数: '{"kms_info": {"id": <kms_instance_id>, "url": <kms_url>}, "kms_key": {"id": <kms_root_key_id>, "crn": <kms_transaction_crn>}}
{plan_id} 您要使用的定价计划的 ID。
{region} 要在其中供应服务实例的区域。 例如,us-south
{resource_group_id} 要在其中供应服务实例的资源组的标识。 要查找可用资源组的标识,请运行 ibmcloud resource groups
{token} 有效的 IAM 不记名令牌。

有关创建服务实例的更多信息,请参阅 使用 API 创建新的资源实例

使用 Terraform 创建 Continuous Delivery 服务实例

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

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

    以下示例使用 ibm_resource_instance 资源创建 Continuous Delivery 服务实例,其中 name 是用于标识资源实例的唯一描述性名称。

    data "ibm_resource_group" "group" {
      name = "default"
    }
    
    resource "ibm_resource_instance" "cd_service_instance" {
      name              = "my CD service instance"
      service           = "continuous-delivery"
      plan              = "lite"
      location          = "us-south"
      resource_group_id = data.ibm_resource_group.group.id
    }
    

    有关 ibm_resource_instance 的更多信息,请参阅 Terraform Registry 文档中的参数参考详细信息。

    要供应服务实例以使用客户管理的加密,请使用密钥管理服务实例标识和根密钥标识添加并填充参数属性。

      parameters = {
        kms_instance = <kms_instance_id>
        kms_key = <kms_key>
      }
    
  3. 初始化 Terraform CLI。

    terraform init
    
  4. 创建 Terraform 执行计划。 此套餐汇总了创建 Continuous Delivery 服务实例时必须运行的所有操作。

    terraform plan
    
  5. 应用 Terraform 执行计划。 Terraform 将执行所有必需操作以创建 Continuous Delivery 服务实例。

    terraform apply