Compute Nest では、GitHub、Gitee、パブリック GitLab、または Alibaba Cloud DevOps CodeUp のリポジトリをインポートしてサービスを作成できます。この機能により、開発者およびサービスプロバイダーの皆様は、サービスのビルド、テスト、更新、Alibaba Cloud Marketplace への公開をより迅速に実施できます。本トピックでは、Git リポジトリからサービスを作成する方法について説明します。
前提条件
Git リポジトリからサービスを作成する前に、リポジトリが準備済みであることを確認してください。詳細については、「Compute Nest 仕様を満たす Git リポジトリの作成」をご参照ください。
概要
Git リポジトリを Compute Nest サービスに変換できます。開始するには、Compute Nest にリポジトリへのアクセス権限を付与し、インポートして基本設定を構成します。この機能は、複数のシナリオと構成オプションをサポートしています。
-
アクセス権限を付与した後、Compute Nest は GitHub、Gitee、パブリック GitLab、Alibaba Cloud DevOps CodeUp からリポジトリをインポートできます。
-
複数のデプロイメントシナリオをサポートしています。
-
プライベートサービス と フルマネージドサービス を選択できます。
サービスタイプ
定義
説明
private service
お客様のアカウントにリソースおよびソフトウェアをデプロイするサービスです。
ユースケース:お客様のアカウント内の VPC にデプロイされる PaaS および SaaS アプリケーションに適しています。
fully managed service
サービスプロバイダーのアカウントにリソースおよびソフトウェアをデプロイするサービスです。
ユースケース:サービスプロバイダーのアカウント内の VPC にデプロイされる PaaS および SaaS サービスに適しています。サービスプロバイダーがお客様のクラウドリソースおよびアプリケーションを完全に管理します。Compute Nest は、お客様専用リソースを含む以下の 2 つのモードをサポートしています:マネージドシングルテナント(完全専有リソース)およびマネージド ACK マルチテナント(ACK Pod 単位で専有リソースを確保)。
-
複数の アプリケーションランタイム および デプロイメントタイプ をサポートしています。
アプリケーションランタイム
デプロイメントタイプ
パラメーター
説明
container
Docker Compose
Docker Compose YAML パス
リポジトリ内の Docker Compose ファイルのパスを指定します。
Docker Compose .env パス
リポジトリ内の Docker Compose .env ファイルのパスを指定します。リポジトリ内に .env ファイルが存在しない場合、デフォルト値 (.env) が使用されます。
ユーザー デプロイメント パラメーター
デプロイ時にユーザーが提供できるカスタム環境変数を設定します。たとえば、.env ファイルに
Password=testが含まれているとします。パラメーター名、環境変数名、タイプ、デフォルト値 などのフィールドを構成する必要があります。一致式 などの高度な設定も可能です。パラメーターをパスワードとして扱う場合は、パスワードコンポーネント トグルを有効にしてください。+ 追加 ボタンをクリックすると、さらにパラメーターを追加できます。
これにより、ユーザーはデプロイ時にカスタムパスワードを入力でき、その値が .env ファイル内の変数値を置き換えます。
Dockerfile
Dockerfile パス
リポジトリ内の Dockerfile のパスを指定します。
ユーザー デプロイメント パラメーター
Docker ランタイム環境変数のキーを指定します。たとえば、
docker run -e key=valueの場合、valueはデプロイ時にユーザーが提供する実パラメーター値です。高度なオプション:Docker イメージビルドパラメーター
Docker イメージビルド引数を指定します。これは、Dockerfile で マルチステージビルド 機能を使用しており、イメージビルド前に環境変数を設定する必要がある場合に役立ちます。
ユーザー デプロイメント パラメーター
Docker ランタイム環境変数のキーを指定します。たとえば、
docker run -e key=valueの場合、valueはデプロイ時にユーザーが提供する実パラメーター値です。サービスポート
サービスのポートを指定します。デプロイ後、サービスは
ip:portで公開されます。セキュリティグループ インバウンドポート
ファイアウォールとして機能するセキュリティグループのインバウンドポートです。ソフトウェアの構成に基づいて、開放するポートを指定してください。
Kubernetes クラスター
Helm chart
チャートディレクトリ
Helm チャートが配置されているディレクトリを指定します。リポジトリからチャートディレクトリを選択してサービスを構成できます。
チャート値
チャートデプロイメントの変数パラメーターを定義します。通常、デフォルト値をオーバーライドするために使用されます。
出力タイプ
出力タイプを指定できます。Helm チャートからのデフォルト命令またはカスタム出力コマンドのいずれかを選択できます。
Linux Shell
ソースコード
root directory
ソースコードまたはアプリケーションのルートディレクトリを指定します。以降のコマンドはこのディレクトリで実行されます。
ユーザー デプロイメント パラメーター
アプリケーションのランタイムコマンドまたはスクリプトに渡すパラメーターを定義します。ユーザーはデプロイ時に実際の値を提供します。たとえば、
MyPasswordという名前のパラメーターを構成できます。ユーザーが提供した値はPASSWORD環境変数として設定され、ランタイムコマンド内で参照可能となり、実行時に自動的に置き換えられます。たとえば、実行コマンドフィールドに
echo "$PASSWORD"を構成することで、パラメーターを参照できます。コマンド
アプリケーション起動時に実行するコマンドを指定します。
base image
ベースイメージを指定します。CentOS 7.9、Node.js 20、Docker 26 などのイメージを選択できます。
サービスポート
アプリケーションが公開するポートです。
セキュリティグループ インバウンドポート
ファイアウォールで開放するインバウンドポートを指定します。
タイムアウト期間
ランタイムコマンドのタイムアウトを設定し、起動プロセスが長時間実行された場合のリソースの無駄を防止します。
-
-
マネージド ECS イメージビルドをサポート:中国本土内で Docker イメージのプル時にネットワークの問題や失敗が発生する可能性があるため、Compute Nest は Alibaba Cloud のネットワーク高速化機能を利用して、リポジトリから ECS インスタンスに Docker イメージをプルします。その後、Compute Nest はそれらを ECS イメージにビルドし、プル失敗を防止します。このイメージは Compute Nest によって管理され、ご利用の Alibaba Cloud アカウントと共有されます。
-
コードリポジトリからのサービス更新をサポート:リポジトリに新しいコミットをプッシュすると、サービスを直接更新できます。Compute Nest は最新のリポジトリバージョンを自動的にプルしてサービスを再ビルドします。
操作手順
Compute Nest コンソール にログインします。
-
左側のナビゲーションウィンドウで、マイサービス を選択します。マイサービス ページで、作成したサービス タブをクリックし、次に 新しいサービスの作成 をクリックします。
-
新しいサービスの作成 ページで、サービス情報を構成します。
-
作成方法を選択し、リポジトリ情報を設定します。
パラメーター
説明
サービス作成方法の選択
[リポジトリからサービスを作成] を選択します。
リポジトリ ユーザー/組織
リポジトリが組織に属している場合、個人のリポジトリまたは組織名を選択できます。
リポジトリ名
サービスを作成するリポジトリを選択します。
リポジトリブランチ
リポジトリからブランチを選択します。
ブランチを選択すると、Compute Nest は自動的にリソース記述ファイルをスキャンします。ファイルが検出されない場合、次のステップに進むことはできません。
-
リポジトリを選択すると、サービス構成ページが自動的に表示されます。要件に応じて設定を構成してください。
たとえば、Docker Compose によるセルフホスティングをサポートする LobeChat をデプロイする場合、対応する構成オプションを選択できます。ユーザー デプロイメント パラメーター セクションでは、Docker Compose .env ファイルの環境変数をパラメーター化でき、インスタンスデプロイ時にユーザーがカスタム値を入力できるようになります。構成が完了したら、次のステップ:基本情報の設定 をクリックします。
ページは、デプロイメント構成セクションと環境構成セクションに分かれています。デプロイメント構成セクションでは、[サービスタイプ](たとえばプライベートサービス)と[サービスビルドリージョン]を選択します。環境構成セクションでは、[アプリケーションランタイム](たとえばコンテナ)と[デプロイメントタイプ](たとえば Docker Compose)を選択し、対応するファイルパスを設定します。
-
サービスの基本情報を構成します。
パラメーター
説明
サービスアイコン
サービスのアイコンをアップロードします。JPG および PNG 形式がサポートされています。最適な結果を得るには、解像度 192x192 ピクセルの画像を使用してください。
サービス名
サービスの名前を入力します。名前は 3~200 文字で、漢字、英字、数字、アンダースコア (_) を含めることができます。漢字 1 文字は 2 文字としてカウントされます。
システムはリポジトリ情報に基づいて自動的に名前を生成します。デフォルト名を使用するか、新しい名前を指定できます。
サービス説明
サービスの説明を入力します。説明は 10~500 文字でなければなりません。漢字 1 文字は 2 文字としてカウントされます。
バージョン説明
サービスバージョンの説明を入力します。説明は 1~200 文字でなければなりません。具体的なソフトウェアバージョンを含めることを推奨します。バージョン説明は、同一サービス内で一意である必要があります。
サービス契約ドキュメント
サービスプロバイダーが提供するカスタムサービス契約ドキュメントの名前と URL を入力します。
-
-
サービスの作成 をクリックし、確認ダイアログボックスで 確定する をクリックします。サービス作成リクエストが送信された後、通知内の 一覧に移動 をクリックします。
-
マイサービス ページに戻ります。サービスステータスは 作成中です です。
View Logsをクリックして作成プロセスをモニターできます。作成に失敗した場合、エラーログが生成されます。ログを使用してトラブルシューティングを行い、リポジトリおよびパラメーター設定を調整できます。ログに BuildService Success メッセージが表示されると、サービス作成は成功です。 -
サービスページを更新します。サービスステータスは Pending Pre-release に変更されます。
次のステップ
-
サービスを更新します。
後でサービスを更新するには、
Modify Versionボタンをクリックし、Update in ConsoleまたはUpdate by Synchronized Repositoryのいずれかを選択します。リポジトリから更新を選択した場合、Compute Nest は最新のファイルをプルしてサービスを再ビルドします。[コンソールで更新] オプションは、視覚的なインターフェイスを提供します。コンソールで行った変更は、ご利用のリポジトリに同期されません。
-
サービスをテストします。
サービスを保存した後、ご自身でテストするか、特定のお客様にプレリリースしてテストできます。詳細については、「サービスのテスト」をご参照ください。
-
サービスを公開します。
サービスのテストに合格したら、レビューのために提出してください。承認されると、公開できます。詳細については、「サービスの公開」をご参照ください。