tencent cloud

Marketplace

製品アップデート
プロダクト概要
プロダクト概要
アプリケーションダッシュボードの紹介
購入ガイド
ユーザーガイド
初心者ガイド
アプリストアのアプリ利用ガイド
アプリケーションダッシュボード使用ガイド
サービスプロバイダーガイド
リリースプロセスの概要
インストールパッケージの作成と管理
よくある質問
ユーザー関連の問題
Marketplace Policy
プライバシーポリシー
データ処理とセキュリティ契約
Tencent Cloud Marketplace User Agreement
Tencent Cloud Marketplace Products Cooperation Agreement
Tencent Cloud Marketplace End User License Agreement(Standard Version)
Marketplace Product Cancellation and Refund Rules
お問い合わせ
用語一覧

インストールパッケージの作成

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-02-04 14:24:01

用語及び説明

用語
説明
インストールパッケージ
インストールパッケージは、パートナーがMarketplace基準に準拠した自動化デプロイ成果物を提出するもので、クラウドリソースのオーケストレーション、インストールパラメータ、出力宣言などを統合したものです。
ユーザーはMarketplaceのワンクリックデプロイで、リソース作成、アプリ設定、プロセス起動を自動的に完了します。これにより全プロセス自動インストールを実現します。

インストールパッケージを作成する

現在、インストールパッケージは2種類の作成方法をサポートしています。詳細は以下の通りです:

テンプレート作成
普通作成
利点
簡単で手軽、公式提供の固定テンプレートによって作成されます。
テンプレートパラメータをわずかに入力するだけで、迅速にインストールパッケージを作成し開発版を提出可能です。
柔軟性が高く、複雑なアプリケーションの作成が可能です。
各種タイプのリソースおよびリソースの各種パラメータを完全にカスタマイズ可能です。
不足
柔軟性が不足しており、部分パラメータのみカスタマイズをサポートします。
ある程度の開発基盤が必要です。
Node.js環境とCLI開発者ツールをインストールする必要があります。
具体的な作成手順は以下の通り:
テンプレートのクイック作成
通常作成
1. インストールパッケージ管理新規インストールパッケージ作成をクリックし、テンプレートから作成を選択、インストールパッケージ名と一部テンプレートパラメータを入力しますと作成を完了します。

2. インストールパッケージの作成が完了した後、ターゲットアプリケーションの操作バー下にあるバージョン管理をクリックすると、インストールパッケージのバージョン管理インターフェースに入ることができます。

1. インストールパッケージ管理新規インストールパッケージ作成をクリックし、インストールパッケージ名を入力し、普通作成を選択した後、作成を完了できます。

2. インストールパッケージの作成が完了したら、ターゲットアプリケーションの操作欄にあるバージョン管理をクリックし、インストールパッケージのバージョン管理インターフェースに入ります。


開発者ツール(CLI)にログインする

1. バージョン管理インターフェースで開発バージョンのアップロード方法をクリックし、ツールのインストールとログイン手順を表示します。
説明:
Node.js環境必要です。 Marketplace開発者ツールはNode.jsに基づいて開発されています。インストール前に、開発環境にNode.jsがインストール済みであることを確認してください。インストールされていない場合は、Node.js公式サイトにアクセスしてダウンロードし、インストールしてください。


2. ガイドに従って開発者ツールをインストールした後、cloudappコマンドを使用するとツールの使い方を確認できます:

3. ツールをインストール後、ローカル開発者センターでcloudapp loginコマンドを使用してログインしてください。開発者のCAMキーを使用してログインする必要があります。
SecretIdとSecretKeyは、アプリ開発者主体の登録時に提出された開発者情報に対応するCAMキーです。ログインに成功すると開発元と開発者名が表示されます。キー情報を忘れた場合は、CAMコンソールで照会できます。
cloudapp login $SECRET_ID@$SECRET_KEY

インストールパッケージを初期化する(CLIツール)

説明:
インストールパッケージは開発者のローカル環境においてファイルシステムディレクトリとして表され、一般的にはプロジェクトルートディレクトリ配下の.cloudappディレクトリをインストールパッケージディレクトリとして使用することを推奨します。
最小限のインストールパッケージのデモソースコードを参照して、インストールパッケージの構成を理解することをお勧めします。
cloudapp initコマンドを使用して、サンプルのインストールパッケージを生成できます:
# ローカルプロジェクトを初期化します。オプション -t で初期テンプレートを指定可能です。対応テンプレートはGithubテンプレートリストを参照してください(デフォルトテンプレート:CVMインスタンス+パブリックIP)
cloudapp init hello-world

# サンプル
# cloudapp init hello-world -t CT_001
注意:
cloudapp init コマンドは現在プレビュー版機能であり、後日その使用方法とパラメータが調整される可能性があります。現在、cloudapp init はローカルでテンプレートコードをダウンロードするのみで、より多くのテンプレートコードは Marketplace の GitHub リポジトリ で確認できます。

インストールパッケージの構成

インストールパッケージは、開発元がデリバリーする内容で構成されています(CVMデプロイとコンテナデプロイの2つのモードに分かれます)。具体的な差異については以下の表を参照してください:
CVMのデプロイ
コンテナデプロイ
説明:
もしお客様のアプリケーションが「コンテナデプロイ」を採用している場合は、「コンテナデプロイ」に切り替えて、必要なデリバリー内容を確認してください。
内容
位置
説明
インストールパッケージのメタ情報
.cloudapp/package.yaml
インストールパッケージのメタ情報記述ファイルです。
インストールパッケージID・アプリケーションのインストールパラメータ・CAM権限ポリシーなどの情報を含む宣言です。
リソースと変数宣言
.cloudapp/infrastructure/**/*.tf
リソースと変数の宣言は、Terraformの構文を採用します。
リソースはリソースブロックの方式で宣言します。変数はリソースデプロイ時に使用可能な変数であり、使用前に宣言する必要があります。
CVMイメージ(製品)
Marketplaceアーティファクトホスティングセンター
MarketplaceはCVMイメージホスティングを提供します。
説明:
お客様のアプリケーションが「CVMデプロイメント」を採用している場合、「CVMデプロイメント」に切り替えて、デリバリーが必要なコンテンツを参照してください。
内容
位置
説明
インストールパッケージのメタ情報
.cloudapp/package.yaml
インストールパッケージのメタデータ記述ファイルです。
インストールパッケージ ID、アプリケーションのインストールパラメータ、CAM 権限ポリシーなどの情報を含む声明です。
リソースと変数宣言
.cloudapp/infrastructure/**.tf
リソースと変数の宣言は、Terraformの構文を採用しています。
リソースはリソースブロックの方式で宣言します。変数はリソースデプロイ時に使用可能な変数であり、使用前に宣言する必要があります。
コンテナイメージ(製品)
Marketplace TCR リポジトリ
クラウドアプリケーションは、コンテナイメージのホスティングを必要とするアプリケーション向けに、TCRリポジトリによるイメージホスティングサービスを提供します。
サービスオーケストレーション
.cloudapp/software/charts/**/*.yaml
サービスオーケストレーション、Helm Chartのオーケストレーション仕様を採用しています。
コンテナクラスタ内のStatefulSet、Service、Job、Secretなどのオーケストレーションを行います。

インストールパッケージのメタ情報

インストールパッケージのメタ情報はpackage.yamlで宣言され、インストールパッケージID、アプリケーションのインストールパラメータ、Cloud API権限などの情報が含まれます。
# インストールパッケージ ID(デベロッパーセンターのアプリケーション ID に対応)
id: pkg-8lve2gn1

# アプリケーションパラメータです。インストールプロセス中に顧客が設定可能なパラメータを定義します(例:所属ネットワーク、アプリケーション仕様、支払い方法など)
args:
- name: app_target
label: ターゲットネットワーク
widget: subnet-select

# アプリケーション権限宣言(オプション)です。アプリケーション内でクラウドAPIを呼び出す必要がある場合、ここで宣言する必要があります。
role:
policy:
version: "2.0"
statement:
- action:
- cloudapp:VerifyLicense
resource: "*"
effect: allow
注意:
正しいインストールパッケージIDをご提供ください。開発者ツールがアプリケーションをプッシュする際、package.yamlに記録されたインストールパッケージIDに基づいて認証を行いプッシュします。アプリケーションが未登録の場合、または現在ログインしている開発者が該当アプリケーションの開発者ではない場合、プッシュは失敗します。

リソースと変数宣言

リソース宣言

インストールパッケージにおけるリソース宣言は、パッケージの中核となる内容です。MarketplaceはTerraform 構文を借用して、ソフトウェアが依存するクラウドリソースを宣言します。
resource "tencentcloud_eks_cluster" "eks" {
availability_zone = var.app_target.subnet.zone
k8s_version       = "1.20.6"
vpc_id            = var.app_target.vpc.id
subnet_ids        = [var.app_target.subnet.id]
service_subnet_id = var.app_target.subnet.id
}
上記はリソースブロックの宣言構文です。resource はリソースブロックの宣言を表し、"tencentcloud_eks_cluster" はリソースのタイプを表し、"eks" はリソース名です。
説明:
インストールパッケージがサポートする宣言リソースは、主に2種類に分かれます:
Tencent CloudのIaaS/SaaSリソースでは、リソースのタイプのプレフィックスはtencentcloudです。
Marketplaceによってカプセル化されたリソースで、リソースのプレフィックスはcloudappです。

変数宣言

上記で宣言されたEKSリソースと関連付けられたVPC、サブネットなどの情報は、変数から取得されます。インストールパッケージ内で使用される全ての変数は、宣言が必要です。
# variableキーワードを使用して変数を宣言し、app_targetを「変数名」とします。var.app_targetでこの変数を使用できます。
variable "app_target" {
type = object({
region    = string
region_id = string
vpc = object({
id         = string
cidr_block = string
})
subnet = object({
id   = string
zone = string
})
})
}
リソースブロックと同様に、変数ブロック variable を使用して変数を宣言します。上記の宣言では、app_targetが変数名です。リソースブロック内で var.app_target を参照できます。
変数はユーザーのインストールパラメータを取得するために使用でき、またシステムのインストールパラメータを取得するためにも使用できます。詳細については、インストールパラメータ、変数、および出力の使用ドキュメントの説明を参照してください。

イメージホスティング

CVMイメージホスティング
コンテナイメージのホスティング

イメージの作成については、操作ガイドを参照してください。CVMイメージを作成した後、ユーザーがインストールする際にMarketplaceが自動的に対応イメージを共有できるよう、イメージをMarketplaceアーティファクト管理センターにホスティングする必要があります。
1. Marketplace開発者で、アプリの製品管理を選択します。



2. 製品管理センターで、現在のアプリがホスティングが必要なCVMイメージを選択します。






3. アプリケーションのインストールが許可されている地域に基づいて、イメージの利用可能な地域を調整します。



説明:
MarketplaceはTCRリポジトリを提供し、コンテナイメージのホスティングが必要なアプリケーション向けにイメージホスティングサービスを提供します。
1. cloudapp dockerコマンドを使用してリポジトリログインコマンドを取得します。



2. cloudapp docker --url コマンドを使用してリポジトリプッシュアドレスを取得します。



3. cloudapp docker --auth を使用して Docker 認証ファイルを個別に取得します。CI 構築のシナリオに適用されます。



4. Dockerリポジトリにログインした後、イメージをホスティングされたレジストリにプッシュできます。
リポジトリトークンの有効期間と権限
cloudapp dockerコマンドで取得したリポジトリトークンは、アプリケーション側がソフトウェアコンテナイメージをプッシュするためにのみ使用できます。このトークンの有効期間は2時間ですので、保存して使用すべきではありません。CIプロセスでのビルド完了後、リアルタイムでcloudapp dockerコマンドを実行しトークンを取得することを推奨します。
お客様がインストール時に使用するインストールトークンはリードオンリーですが、cloudapp dockerが取得したトークンはアプリケーション開発者のソフトウェアイメージを操作することが可能です。

サービスオーケストレーション(コンテナデプロイメント)

cloudapp_helm_appタイプのリソースを宣言することで、コンテナサービスオーケストレーションを宣言できます。
resource "cloudapp_helm_app" "helm_charts" {
cluster_id     = tencentcloud_eks_cluster.eks.id
chart_src      = "../software/chart"
chart_username = var.cloudapp_repo_username
chart_password = var.cloudapp_repo_password

chart_values = {
SUBNET_ID = var.app_target.subnet.id
IMAGE_CREDENTIALS = {
REGISTRY = var.cloudapp_repo_server
USERNAME = var.cloudapp_repo_username
PASSWORD = var.cloudapp_repo_password
}
}
}
オーケストレーション対象のコンテナクラスタとHelm Chartのソースコードの場所(一般的には.cloudapp/software/chartに配置することが推奨されます)の指定が必要です。
chart_valuesを介してリソース情報をHelm Chart Valuesに渡します。これらの情報はデプロイ時にHelmに伝達されるため、オーケストレーション時にインフラストラクチャを直接利用できます。上記の例では、サブネットIDをオーケストレーションに渡し、serviceのオーケストレーションを行う際にこのサブネットIDを指定することで、内部向けロードバランサータイプを生成します。別の一般的な例として、DBインスタンス化後の接続情報をオーケストレーションに渡すことで、ワークロードが環境変数から参照できるようにする、またはconfigmapに生成することが挙げられます。
注意:
TFで宣言されたリソース属性をHelm Chart Valuesに渡すことは、非常に重要な特性です。この特性を活用することで、ソフトウェアオーケストレーション時に実際にデプロイされるハードウェアリソースを直接オーケストレーション可能にし、再設定が不要となります。

上級

引き続き後続の内容をご覧いただき、上級インストールパッケージ機能の実装方法をご確認いただけます。

リソース

Githubリポジトリにアクセスして、サンプルソースコードの詳細を参照してください。

次へ

インストールパッケージの作成とアップロードが完了したら、インストールパッケージのプッシュ、検証、リリースを行う必要があります。詳細はインストールパッケージ管理を参照してください。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック