スペースでアプリケーション テンプレートを作成し、コンポーネント テンプレートをインポートすると、他のスペース メンバーがテンプレートにアクセスできるようになります。このドキュメントでは、テンプレートをカタログに公開し、そのカタログを適切なスペースと共有することで、スペース外でテンプレートを共有する方法について説明します。
各スペースには、テンプレートを追加して共有を制御できる単一のカタログが含まれています。最初のアプリ対応フォルダで作成したスペースから、子孫アプリ対応フォルダのスペースにカタログを共有できます。
子孫スペースを作成する手順については、スペースを作成するをご覧ください。
始める前に
アプリ対応フォルダまたは管理プロジェクトに対する Application Design Center 管理者(roles/designcenter.admin)ロールが必要です。
アプリケーション テンプレートをカタログに公開する
テンプレートを他のスペースと共有する前に、テンプレートをカタログに公開します。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
[テンプレートを追加] をクリックします。
[デフォルト カタログにテンプレートを追加] 領域で、次の操作を行います。
- 特定のテンプレートを検索するには、[フィルタ] フィールドにテンプレート名を入力します。
- このカタログにテンプレートを追加するには、[アクション] 列で [カタログに追加] をクリックします。
[完了] をクリックします。カタログにアクセスできるスペースは、選択したテンプレートにアクセスできます。
カタログを共有するには、スペースとカタログを共有するをご覧ください。
gcloud CLI
テンプレートを追加するカタログのカタログ ID を特定します。
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs list をご覧ください。
カタログに追加するテンプレートのテンプレート ID を特定します。たとえば、次のコマンドはアプリケーション テンプレートの一覧を取得します。
gcloud design-center spaces application-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --filter=FILTER次のように置き換えます。
PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。FILTER: 検索結果を絞り込むためのフィルタ。例:"displayName:my-app-template*"
詳細については、gcloud design-center spaces アプリケーション テンプレートのリストをご覧ください。
アプリケーション テンプレートを commit します。
gcloud design-center spaces application-templates commit TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
TEMPLATE: コミットするテンプレートのテンプレート ID。PROJECT: 管理プロジェクト ID。LOCATION: アプリケーション テンプレートのリージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces application-templates commit をご覧ください。
commit コマンドの
name出力をコピーします。この名前は、カタログ テンプレート リビジョンを作成するときにapplication-template-revision-source値として指定します。アプリケーション テンプレートがカタログにまだ存在していないことを確認します。
gcloud design-center spaces catalogs templates list \ --catalog=CATALOG \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
CATALOG: カタログ ID。例:default-catalogPROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs templates list をご覧ください。
アプリケーション テンプレートがカタログにない場合は、カタログ テンプレートを作成します。
gcloud design-center spaces catalogs templates create CATALOG_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --catalog=CATALOG \ --template-category=TEMPLATE_CATEGORY次のように置き換えます。
CATALOG_TEMPLATE: 作成するカタログ テンプレートのカタログ テンプレート ID。PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。CATALOG: カタログ ID。TEMPLATE_CATEGORY: テンプレートのカテゴリ。例:application-template
詳細については、gcloud design-center spaces catalogs templates create をご覧ください。
カタログ テンプレートのリビジョンを作成します。これにより、最初のリビジョンが作成されます。このリビジョンは、デベロッパーがアプリケーションのソースとして使用します。
gcloud design-center spaces catalogs templates revisions create REVISION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --catalog=CATALOG \ --template=CATALOG_TEMPLATE \ --application-template-revision-source=APPLICATION_TEMPLATE_REVISION_SOURCE次のように置き換えます。
REVISION: 作成するリビジョンのリビジョン ID。例:r1PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。CATALOG: カタログ ID。CATALOG_TEMPLATE: テンプレート ID。APPLICATION_TEMPLATE_REVISION_SOURCE: アプリケーション テンプレートの改訂ソース。この値は、アプリケーション テンプレートをコミットしたときにコピーしました。例:projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/r1
詳細については、gcloud design-center spaces catalogs templates revisions create をご覧ください。
修正したテンプレートを共有する
テンプレートを変更しても、その変更はカタログに自動的に公開されません。最新のリビジョンを共有するには、テンプレートをカタログに再度公開します。
カタログからテンプレートを削除する
特定のテンプレートをスペースと共有したくない場合は、カタログから削除します。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
このカタログのテンプレートを管理するには、[カタログ内のテンプレート] をクリックします。
テンプレートを削除するには、 [アクション] をクリックして、[カタログから削除] を選択します。
- フィールドに、テンプレートの名前を入力します。
- [削除] をクリックします。
gcloud CLI
カタログからテンプレートを削除します。
gcloud design-center spaces catalogs templates delete CATALOG_TEMPLATE \
--catalog=CATALOG \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
次のように置き換えます。
CATALOG_TEMPLATE: カタログから削除するテンプレートのカタログ テンプレート ID。CATALOG: カタログ ID。PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs templates delete をご覧ください。
カタログをスペースと共有する
最初のスペースから子孫スペースにカタログを共有できます。たとえば、組織全体に関連するアプリ テンプレートのカタログを作成して、すべてのスペースと共有できます。
子孫スペースを作成する手順については、スペースを作成するをご覧ください。
カタログをスペースと共有する手順は次のとおりです。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
[カタログを共有] をクリックします。
[フィルタ] フィールドに、カタログを共有するスペースの名前を入力します。
[スペース] テーブルの [アクション] 列で、[カタログを共有] をクリックします。
ユーザーは、アプリ デザイン センターでスペースを開き、ナビゲーション メニューから [共有テンプレート] をクリックすると、共有カタログのテンプレートを表示できます。
gcloud CLI
カタログをスペースと共有します。
gcloud design-center spaces catalogs shares create SHARE \
--project=PROJECT \
--space=SPACE \
--location=LOCATION \
--catalog=CATALOG \
--destination-space=DESTINATION_SPACE
次のように置き換えます。
SHARE: 削除する共有の共有 ID。PROJECT: 管理プロジェクト ID。SPACE: スペース ID。LOCATION: カタログ リージョン。CATALOG: 共有するカタログのカタログ ID。DESTINATION_SPACE: 共有先の Space の完全修飾名。例:projects/my-project/locations/us-central1/spaces/my-space
詳細については、gcloud design-center spaces catalogs shares create をご覧ください。
スペースとのカタログの共有を停止する
スペースとのカタログの共有を停止する場合は、次の手順でカタログの共有を停止します。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
[共有しているスペース] をクリックします。
このカタログのスペースとの共有を停止するには、 をクリックします。
アクション] をクリックし、[共有を停止] を選択します。
- フィールドにスペース名を入力します。
- [共有を停止] をクリックします。
gcloud CLI
スペースとのカタログの共有を停止します。
gcloud design-center spaces catalogs shares delete SHARE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--catalog=CATALOG
次のように置き換えます。
SHARE: 削除する共有の共有 ID。PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。CATALOG: 共有するカタログのカタログ ID。
詳細については、gcloud design-center spaces catalogs shares delete をご覧ください。
カタログのメタデータを編集する
カタログを管理するには、次の手順でわかりやすい名前と説明を付けます。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
カタログの詳細を確認します。
[表示名] を変更するには、次の操作を行います。
- [表示名を編集] をクリックします。
- [表示名] フィールドに、新しい名前を入力します。
- [保存] をクリックします。
[説明] を変更するには、次の操作を行います。
- [説明を編集] をクリックします。
- [説明] フィールドに新しい説明を入力します。
- [保存] をクリックします。
gcloud CLI
gcloud design-center spaces catalogs update CATALOG \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--description=DESCRIPTION \
--display-name=DISPLAY_NAME
次のように置き換えます。
CATALOG: カタログ ID。PROJECT: 管理プロジェクト ID。LOCATION: カタログ リージョン。SPACE: スペース ID。DESCRIPTION: カタログの説明。DISPLAY_NAME: カタログの表示名。
詳細については、gcloud design-center spaces catalogs update をご覧ください。
次のステップ
- アプリケーション デベロッパーとベスト プラクティスを共有するには、アプリケーション テンプレートを設計します。
- アプリケーション テンプレートに基づいてドラフトを作成するには、アプリケーションを管理します。
- アプリケーション テンプレートの設計で独自の Terraform モジュールを使用するには、コンポーネントをインポートします。