创建项目

在项目用于将资源和基础结构定义为代码部署并进行管理的工件集合。 中,您可以从目录中添加可部署的架构并编辑其配置。 从项目部署配置时,系统会根据您部署的配置对资源进行分组。

准备工作

资源已在项目账户中为用户创建。 您必须拥有创建项目的权限,以及在该账户内创建项目工具资源的权限。 确保您拥有以下访问权限:

  • IBM Cloud 项目服务中的编辑角色。
  • IBM Cloud® Schematics 服务中的编辑和管理员角色
  • 项目资源组上的查看者角色

有关访问权限的更多信息,请参阅 《 为用户分配项目访问权限 》。

为项目添加用户

项目访问权限由 IBM CloudIdentity and Access Management (IAM)进行管控。 要将用户添加到项目中,需在项目实例上授予其阅读者角色或更高权限。 有关为项目分配访问权限的更多信息,请参阅《 为用户分配项目访问权限 》。

使用控制台创建项目

您可以通过点击图标 导航菜单图标导航菜单 并选择 项目,或从部署架构中创建项目 目录。 项目也可 通过 使用项目API创建。

通过控制台向项目添加可部署架构

添加到项目中的可部署架构在项目用户界面中以配置的形式呈现。 在项目中添加可部署架构后,您可以在部署前编辑配置。 为项目添加可部署架构有以下几种方式:

要在项目仪表板中向项目添加可部署架构,请完成以下步骤:

  1. 在项目仪表板中,选择“配置”选项卡。
  2. 单击创建
  3. 从目录中选择可部署的架构。
  4. 单击“配置和部署”。

您还可以直接从目录向项目添加可部署架构:

  1. 前往 IBM Cloud 目录
  2. 选择可部署架构。
  3. 从目录列表中,您可以创建新项目或添加到现有项目中。
  4. 单击“配置和部署”。

在项目中定制可部署架构

根据可部署架构的不同,您可能在从目录将其添加到项目时进行自定义。 您可能有以下选择:

  • 添加可选的可部署架构,以扩展特定用例的解决方案。
  • 用另一种架构替换原有架构。 例如,如果提供了多个数据库选项,您可以选择想要使用的那个。
  • 选择项目中架构的现有配置,以便与您正在添加的架构重复使用。 通过这种方式,您可以降低成本,并为多种架构重复使用相同的部署方案。

在目录列表的“扩展此架构”部分,点击 “自定义”以在配置和部署前优化您的架构。 如果可部署架构的目录列表中未提供 “自定义” 选项,您仍 可在项目中通过堆叠其他可部署架构来 配置和自定义该架构。

在您完成选择并将可部署架构添加到项目后,可通过在“配置”选项卡中选择 选项” 图标 > “自定义架构”进一步进行定制。 由此,您可以添加其他兼容的可部署架构,以进一步定制解决方案。

若需将项目信息备份至 IBM Cloud 项目服务之外,可导出该项目。 如需了解更多信息,请访问 Project JSON

当您准备从项目中部署 部署架构的资源时,请查看配置和部署可部署架构的步骤。

使用 CLI 创建项目

要通过命令行界面创建项目,请运行以下 ibmcloud project create 命令:

ibmcloud project create [--definition DEFINITION | --definition-name DEFINITION-NAME --definition-destroy-on-delete=DEFINITION-DESTROY-ON-DELETE --definition-description DEFINITION-DESCRIPTION --definition-auto-deploy=DEFINITION-AUTO-DEPLOY --definition-monitoring-enabled=DEFINITION-MONITORING-ENABLED] --location LOCATION --resource-group RESOURCE-GROUP [--configs CONFIGS] [--environments ENVIRONMENTS]

请参阅 ibmcloud project create 获取示例命令及有关命令参数的更多信息。

通过命令行界面为项目添加可部署架构

要通过命令行界面为项目添加可部署架构,请运行以下 ibmcloud project config-create 命令:

ibmcloud project config-create --project-id PROJECT-ID [--definition DEFINITION | --definition-compliance-profile DEFINITION-COMPLIANCE-PROFILE --definition-locator-id DEFINITION-LOCATOR-ID --definition-description DEFINITION-DESCRIPTION --definition-name DEFINITION-NAME --definition-environment-id DEFINITION-ENVIRONMENT-ID --definition-authorizations DEFINITION-AUTHORIZATIONS --definition-inputs DEFINITION-INPUTS --definition-settings DEFINITION-SETTINGS --definition-members DEFINITION-MEMBERS --definition-resource-crns DEFINITION-RESOURCE-CRNS] [--schematics SCHEMATICS | --schematics-workspace-crn SCHEMATICS-WORKSPACE-CRN]

请参阅 ibmcloud project config-create 获取示例命令及有关命令参数的更多信息。

若需将项目信息备份至 IBM Cloud 项目服务之外,可导出该项目。 如需了解更多信息,请访问 Project JSON

使用应用程序接口创建项目

您可以通过 调用项目 API 程序化地创建项目,如下面的示例请求所示:

curl -X POST --location --header "Authorization: Bearer {iam_token}" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data '{ "definition": { "name": "acme-microservice", "description": "A microservice to deploy on top of ACME infrastructure.", "authorizations": { "method": "trusted_profile", "trusted_profile_id": "Profile-9ac10c5c-195c-41ef-b465-68a6b6dg5f12" } }, "configs": [ { "definition": { "name": "account-stage", "description": "The stage account configuration.", "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global" } }, { "definition": { "name": "env-stage", "description": "The stage environment configuration that includes services common to all the environment regions.", "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global", "inputs": { "account_id": "ref:/configs/account-stage/inputs/account_id", "resource_group": "stage", "access_tags": [ "env:stage" ], "logdna_name": "The name of the LogDNA stage service instance.", "sysdig_name": "The name of the SysDig stage service instance." } } }, { "definition": { "name": "region-us-south-stage", "description": "The stage us-south configuration.", "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global" } }, { "definition": { "name": "region-eu-de-stage", "description": "The stage eu-de configuration.", "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global", "inputs": { "account_id": "ref:/configs/account-stage/inputs/account_id", "resource_group": "ref:/configs/env-stage/outputs/resource_group_id", "logdna_id": "ref:/configs/env-stage/outputs/logdna_id", "sysdig_id": "ref:/configs/env-stage/outputs/sysdig_id", "access_tags": [ "region:eu-de" ] } } } ], "location": "us-south", "resource_group": "Default" }' \
  "{base_url}/v1/projects"

通过API为项目添加可部署架构

您可以通过 调用项目 API 并自定义配置,以编程方式将可部署架构添加到现有项目中,如下面的示例请求所示:

curl -X POST --location --header "Authorization: Bearer {iam_token}" \
   --header "Accept: application/json" \
   --header "Content-Type: application/json" \
   --data '{ "definition": { "name": "env-stage", "description": "The stage environment configuration.", "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global", "inputs": { "account_id": "account_id", "resource_group": "stage", "access_tags": [ "env:stage" ], "logdna_name": "LogDNA_stage_service", "sysdig_name": "SysDig_stage_service" } } }' \
   "{base_url}/v1/projects/{project_id}/configs"

若需将项目信息备份至 IBM Cloud 项目服务之外,可导出该项目。 如需了解更多信息,请访问 Project JSON