アプリの更新
Overview
既存のアプリは、基礎の構成を変更してから、その変更を配置することで更新できます。 これには複数の方法があります。
App Services Admin UI: MongoDB Atlas に構築されたウェブ アプリケーション。 これには、アプリで設定するすべてのグラフィカル インターフェースが含まれています。
App Services CLI: アプリをローカルに設定して配置するために使用できるコマンドライン ツール。 アプリの基礎となる構成ファイルを直接操作します。
Admin API: アプリをプログラム的に構成および配置するために使用できる REST API。 Admin API リクエストは、アプリの基礎となる構成ファイルの読み取りと書込みを行います。
Github自動配置: アプリ構成をGithubリポジトリと同期するGithub統合。 Githubを使用してアプリの構成ファイルを管理し、変更をリポジトリにプッシュしてアプリを配置できます。
既存のアプリを更新する
始める前に
Atlas UI でアプリを更新するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントの登録方法については、「 Atlasを使い始める 」を参照してください。
CLI でアプリを更新するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントのサインアップ方法については、「 Atlas の使用 」を参照してください。
MongoDB Atlas Admin APIの公開キーと秘密キーのペア。 App Services Admin API を操作するには、API キーにプロジェクト オーナーの権限が必要です。
ローカル システム
PATH
にインストールおよび追加された App Services CLI のコピー。 詳しくは、「 App Services CLI のインストール 」を参照してください。
Admin API を使用してアプリを更新するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントのサインアップ方法については、「 Atlas の使用 」を参照してください。
MongoDB Atlas Admin APIの公開キーと秘密キーのペア。 App Services Admin API を操作するには、API キーにプロジェクト オーナーの権限が必要です。
Githubリポジトリの構成ファイルに基づいてアプリを更新するには、アプリの自動Github配置を有効にする必要があります。
手順
配置案の変更を確認する
アプリケーションに対するすべての配置案変更を、配置する前に確認できます。
左側のナビゲーション メニューで [ Deploymentをクリックして、アプリの配置履歴テーブルに移動します。 表の上段は、前回の配置以降に行ったすべての配置案変更を表しています。
上段の [ Review Draft and Deploy ] ボタンをクリックすると、実施した配置案変更を表す基礎となるアプリ構成ファイルの差分が表示されます。
注意
マージ競合があるため、または UI の外部で配置案を保存するために、変更の配置案をダウンロードすることをお勧めします。 そのためには、 Review Draft and Deployモーダルで右上隅のExport Stateをクリックします。 ダウンロードを使用して、 appservices で変更を配置したり、UI で変更を再適用する際の参照として使用したりできます。
アプリの最新バージョンを取得する
アプリの構成ファイルのローカル コピーを取得します。 アプリの最新バージョンを取得するには、次のコマンドを実行します。
appservices pull --remote="<Your App ID>"
また、UI または管理 API からアプリケーションの構成ファイルのコピーをエクスポートすることもできます。 方法については、「アプリをエクスポートする 」を参照してください。
アプリケーションを更新する
アプリケーションのさまざまなコンポーネントの構成ファイルを追加、削除、変更します。
新しい配置案の作成(任意)
配置案は、単一のユニットとして配置または破棄できるアプリケーション変更のグループを表します。 配置案を作成しない場合、更新は自動的に個別に配置されます。
配置案を作成するには、本文を指定せずにPOST
リクエストを新しい配置案作成エンドポイントに送信します。
curl -X POST 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <access_token>'
重要
ユーザーごとに 1 つの配置案
各ユーザーは、UI または管理 API を通じて一度に 1 つの配置案のみ作成できます。 既存の配置案がある場合は、配置案を破棄するエンドポイントにDELETE
リクエストを送信することで、それに関連する変更を破棄できます。
curl -X DELETE 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}' \ -H 'Authorization: Bearer <access_token>'
アプリケーションに変更を加える
各操作に対して Admin API エンドポイントを呼び出すことで、アプリを構成し、コンポーネントを追加、変更、または削除できます。 例と詳細な参照情報については、「 Atlas App Services Admin API 」を参照してください。
配置案を作成しなかった場合、成功するすべての Admin API リクエストによって、関連する更新がアプリにすぐに配置されます。
配置案を作成した場合、成功するすべての Admin API リクエストによって関連する更新が配置案に追加されます。 配置案に含めるすべての変更のリクエストを送信します。
配置案を配置する
配置案を作成した場合は、配置案を配置した配置案の配置エンドポイントに、本文なしのPOST
リクエストを送信することで、配置案内のすべての変更を配置できます。
curl -X POST \ 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}/deployment' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <access_token>' \
Githubの自動配置を有効にすると、アプリは常にリンクされたリポジトリ内の最新のコミットからの構成ファイルを使用します。 構成ファイルを整理して定義する方法の詳細については、「アプリ構成 」を参照してください。
アプリケーションをローカルに追加、変更、削除してアップデートします。
変更をデプロイする準備ができたら、構成ファイルをコミットし、 Githubにプッシュします。
git add -A git commit -m "<commit message>" git push origin <branch name>
プッシュ後、 Github統合により、最新のコミットの構成ファイルに基づいてアプリの更新されたバージョンが自動的に配置されます。
配置案
配置案は、アプリに対する 1 つ以上の更新のセットであり、1 つのグループとして適用または破棄できます。 配置案を配置すると便利で、相互に影響するサービスまたは関数が変更に含まれている場合に便利です。
App Services UI はデフォルトで配置案を使用します。 有効にすると、App Services UI でアプリの構成に加えた変更は、手動で配置した配置案 に追加されます。 UI で保存するときにすぐに配置したい場合は、 UI の下書きを無効にできます。
App Services CLIとGithub配置はどちらも、配置案を自動的に作成および配置します。 配置ブランチに対してCLIプッシュコマンドまたは git push
を実行すると、 CLIまたはGithubアプリはローカル構成ファイルと現在配置されている構成の差分を作成します。 次に、差分に基づいて配置案を作成し配置します。
App Services Admin API を使用すると、配置案を手動で作成して配置できます。 その方法については、「変更のグループを配置する 」を参照してください。
ドラフトの競合
複数のユーザーが UI または API のドラフトで競合する変更を同時に行わないようにします。 競合する変更を含む同時配置案が複数ある場合は、1 つ以上の配置案を配置することはできません。
たとえば、API 経由で変更を配置しても、競合する変更を含む既存の UI 配置案がある場合、UI 配置案は無効になり、配置できなくなります。
競合から回復するには、 Deploymentページから UI ドラフトの構成ファイルをダウンロードします。 これらは、UI で変更を再適用したり、CLI または Admin API を使用して変更を直接配置したりするためのリファレンスとして使用できます。
UI 配置案を無効にする
UI で保存するときにすぐに配置したい場合は、UI の下書きを無効にできます。 この設定は、Admin API を使用して配置案を手動で作成することを妨げるものではありません。
UI から直接 UI 配置案を無効にするには、次の手順に従います。
左側のナビゲーション メニューで [ Deployment ] をクリックします
[Configuration] タブをクリックします
見出しの下にある をクリックし、 モーダル ウィンドウで決定を確認します。Disable Drafts in Atlas App ServicesDisable Drafts
管理 API を使用して UI ドラフトを無効にするには、 ui_drafts_disabled
をtrue
に設定してConfigure Deploymentエンドポイントに リクエストを送信します。
curl -X PATCH https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>' \ -H 'Content-Type: application/json' \ -d '{ "ui_drafts_disabled": true, "automatic_deployment": { "enabled": false, "installationIds": [], "lastModified": 0 } }'