Compute Nest では、GitHub、Gitee、パブリック GitLab、および Apsara DevOps CodeUp から Compute Nest にリポジトリをインポートしてサービスを作成できます。この機能は、Compute Nest に登録している開発者と独立系ソフトウェアベンダー (ISV) がサービス作成の複雑さを大幅に軽減し、サービスを迅速に作成するのに役立ちます。その後、開発者は作成されたサービスをテストおよび更新し、Alibaba Cloud Marketplace に公開できます。このトピックでは、Git リポジトリを使用してサービスを作成する方法について説明します。
前提条件
使用する Git リポジトリが作成されていること。
概要
Git リポジトリを使用して、Compute Nest サービスを迅速に作成できます。サービスを作成するには、Compute Nest に Git リポジトリへのアクセス許可を付与し、Git リポジトリを Compute Nest にインポートし、基本的な構成を実行するだけです。以下のシナリオと構成がサポートされています。
サポートされているコードホスティングプラットフォームには、GitHub、Gitee、パブリック GitLab、および Apsara DevOps CodeUp が含まれます。Compute Nest に適切なプラットフォームにアクセスするための権限を付与し、必要なリポジトリをプラットフォームからプルできます。
さまざまなデプロイメントシナリオがサポートされています。
プライベートサービスとマネージドサービスのシナリオ
サービスの種類
定義
説明
プライベートサービス
ソフトウェアとリソースは、お客様のアカウント内にデプロイされます。
プライベートサービスは、お客様アカウント内の仮想プライベートクラウド (VPC) に Platform as a Service (PaaS) アプリケーションと Software as a Service (SaaS) アプリケーションをデプロイするのに適しています。
フルマネージドサービス
ソフトウェアとリソースは、サービスプロバイダーのアカウント内にデプロイされます。
フルマネージドサービスは、サービスプロバイダーアカウント内の VPC に PaaS アプリケーションと SaaS アプリケーションをデプロイするのに適しています。サービスプロバイダーは、クラウドリソースとお客様アプリケーションを管理するための完全な権限を持っています。Compute Nest では、シングルテナントのフルマネージドサービスとマルチテナント Container Service for Kubernetes (ACK) クラスタにデプロイされたフルマネージドサービスで、専用リソースを使用できます。シングルテナントのフルマネージドサービスでは、リソースは顧客ごとに排他的です。マルチテナント ACK クラスタにデプロイされたフルマネージドサービスでは、リソースはポッドごとに排他的です。
複数のアプリケーションランタイムとデプロイメントタイプ
アプリケーションランタイム
デプロイメントタイプ
パラメーター
説明
コンテナ
Docker Compose
Docker-Compose YAML ファイルパス
特定のリポジトリ内の Docker Compose ファイルのパス
Docker-Compose ENV ファイルパス
特定のリポジトリ内の Docker Compose の .env ファイルのパス。リポジトリに .env ファイルがない場合は、デフォルトの .env ファイルが使用されます。
カスタムデプロイメントパラメーター
実際のデプロイ中に動的に指定されるカスタム環境変数。たとえば、
Password変数が .env ファイルで test に設定されている場合。サービスをデプロイするときに、.env ファイルのデフォルト値を置き換えるカスタムパスワードを指定できます。
Dockerfile
Dockerfile パス
特定のリポジトリ内の Dockerfile ファイルのパス。
カスタムデプロイメントパラメーター
Docker ランタイムの環境変数のキー。たとえば、docker run -e key=value コマンドでは、value パラメーターはデプロイメント中に入力する実際の値を指定します。
詳細オプション: Docker イメージビルドパラメーター
Docker イメージのビルドに使用されるパラメーター。このパラメーターは、Dockerfile で マルチステージ 機能が有効になっており、イメージをビルドする前に環境変数を指定する必要があるシナリオに適しています。
ヒント: インストール中に問題が発生した場合は、FAQ をご参照ください。
Docker ランタイムの環境変数のキー。たとえば、docker run -e key=value コマンドでは、 value パラメーターはデプロイ時に実際に入力する値を指定します。
サービスポート
サービスポート。サービスがデプロイされると、<IP アドレス>:<ポート> を使用してサービスにアクセスできます。
セキュリティグループのインバウンドポート
ビジネスシナリオに基づいてアクセスするセキュリティグループのインバウンドポート。
Kubernetes クラスタ
Helm チャート
チャートディレクトリ
Helm チャートが存在するディレクトリ。 サービスを作成するときに、リポジトリ内のチャートディレクトリを選択できます。
チャート値
詳細については、「WordPress アプリケーションの作成」をご参照ください。
出力コンテンツタイプ
出力コンテンツタイプ。Helm チャートに付属するドキュメント内のコンテンツ、またはコマンドを実行することで表示されるカスタムコンテンツを含みます。
Linux シェル
ソースコード
ルートディレクトリ
ソースコードまたはソース アプリケーションのルートディレクトリ。コマンドはこのルートディレクトリで実行されます。
カスタムデプロイメントパラメータ
コマンドまたはスクリプトに動的に渡されるパラメーター名です。 サービスをデプロイするときは、パラメーター名を実際のパラメーター名に置き換えます。 たとえば、次の図に示すように、パラメーター名は MyPassword に設定されています。 PASSWORD 環境変数にカスタムパラメーター値を指定できます。カスタム環境変数は、コマンドで参照され、自動的に値が設定されます。
コマンド
アプリケーションの起動時に実行されるコマンドです。
ベースイメージ
ベースイメージ。 CentOS 7.9、Node.js 20、または Docker 26 ベースイメージを選択できます。
サービスポート
デプロイするアプリケーションにアクセスできるポート。
セキュリティグループのインバウンドポート
セキュリティグループで定義されているインバウンドポート。
タイムアウト期間
コマンド実行のタイムアウト期間です。コマンドが長時間実行されない場合に発生するリソースの浪費を防ぎます。
Elastic Compute Service (ECS) イメージは、管理およびビルドできます。中国本土では、さまざまな理由で Docker イメージのプルに失敗することがあります。このような失敗を防ぐために、Compute Nest はリポジトリ内の Docker イメージを Alibaba Cloud 伝送ネットワーク経由で ECS インスタンスにプルし、Docker イメージに基づいて ECS イメージをビルドします。Docker イメージは Compute Nest によって管理され、Alibaba Cloud アカウントと共有されます。
サービスは、コード リポジトリを使用して更新できます。リポジトリで新しいコミットが作成されると、Compute Nest は自動的に最新のリポジトリをプルして、関連するサービスを更新します。
手順
Compute Nest コンソール にログインします。
左側のナビゲーションウィンドウで、[マイサービス] をクリックします。 [マイサービス] ページの [作成済みサービス] タブで、[サービスの作成] をクリックします。
[サービスの作成] ページで、サービス情報を構成します。
サービス作成方法を選択し、リポジトリ情報を構成します。
パラメーター
説明
サービス作成方法の選択
[クイック起動(リポジトリから)] を選択します。
リポジトリ ユーザー/組織
顧客が組織リポジトリに属している場合は、個人リポジトリまたは組織リポジトリを選択できます。
リポジトリ名
サービスをインポートするリポジトリの名前。
リポジトリ ブランチ
リポジトリのブランチ。
リポジトリ ブランチを指定すると、Compute Nest はリポジトリ ブランチ内のリソース記述ファイルを自動的に検出します。 リソース記述ファイルが検出された場合にのみ、次の手順に進むことができます。
リポジトリを選択すると、基本情報構成ページが表示されます。 ビジネス要件に基づいて特定の構成を選択できます。
この例では、LobeChat アプリケーションは、Docker Compose を使用してセルフホスティング方式でデプロイされます。 対応するパラメーターを選択できます。
Custom Deployment Parametersセクションで、指定された Docker Compose .env ファイルにカスタム環境変数を構成します。 カスタム パラメーターは、インスタンスのデプロイ中に動的に設定できます。 [次へ: 基本情報の設定] をクリックします。サービスの基本情報を構成します。
項目
説明
サービス アイコン
サービスのアイコン。 JPG および PNG 形式がサポートされています。 最適な鮮明さを得るには、解像度が 192 × 192 ピクセルの画像をアップロードすることをお勧めします。
サービス名
サービスの名前。 名前は 3 ~ 200 文字で、数字、文字、およびアンダースコア(_)を含めることができます。
システムは、リポジトリ情報に基づいてサービスのデフォルト名を生成します。 デフォルト名を使用するか、名前をカスタマイズできます。
サービスの説明
サービスの説明。 説明は 10 ~ 500 文字です。
バージョンの説明
サービス バージョンの説明。 バージョンの説明は 1 ~ 200 文字である必要があります。 この説明にソフトウェア バージョンに関する情報を追加することをお勧めします。 各バージョンの説明は、サービス内で一意である必要があります。
サービス契約ドキュメント
サービス プロバイダーによって定義されたサービス契約ドキュメントの名前とドキュメントの URL。
[サービスの作成] をクリックします。 表示されるメッセージで、[OK] をクリックします。 サービスが作成されて送信された後、[リストに移動] をクリックできます。
[マイサービス] ページで、サービスは [作成中] 状態です。
View Logsをクリックして、サービスが作成されるまで待つことができます。 操作が失敗した場合、エラー ログが報告されます。 ログの内容に基づいて、リポジトリとパラメーターを変更できます。 ログに BuildService Success が表示されたら、サービスは作成されています。[マイサービス] ページをリフレッシュすると、サービスは プレリリース保留中 状態になります。
次の手順
サービスを更新します。
サービスを更新するには、サービスカードの Modify Version をクリックします。[変更バージョン] ダイアログボックスで、
Update in ConsoleまたはUpdate by Synchronized Repositoryを選択し、[OK] をクリックします。Update by Synchronized Repositoryを選択すると、Compute Nest はバックグラウンドからサービスのリポジトリを再度プルし、現在のリポジトリ内のファイルに基づいてサービスをビルドします。サービスをテストします。
サービスを保存した後、サービスをテストできます。また、サービスをプレリリースしてから、指定したユーザーとサービスを共有してサービスをテストすることもできます。詳細については、「サービスをテストする」をご参照ください。
サービスを公開します。
サービスがテストに合格したら、サービスをレビューに提出します。レビューが完了したら、サービスを公開します。詳細については、「サービスを公開する」をご参照ください。