Githubでの自動配置
Overview
アプリ構成ファイルを にプッシュするたびに、 AppAtlas App ServicesGithub を自動的に配置するように構成できます。 リポジトリを使用します。Githubリポジトリをコンピューターにクローンし、標準の Github コマンドを使用して最新バージョンをプルダウンし、新しい変更を配置できます。
前提条件
Githubアカウントとリポジトリ。リポジトリは空であるか、既存のアプリのエクスポートされた構成ディレクトリを含める必要があります。 空のリポジトリの作成方法については、 の「リポジトリの 作成 」Github を参照してください。 ガイドを参照してください。
Git CLI のインストール済みコピー。
git
がインストールされていない場合は、 Git のインストール に関する公式ガイドを参照してください 。アプリの基盤となる Git リポジトリへのアクセスを認証および承認するためのMongoDB Atlasプログラマティック API キー。 Atlas 組織のプログラム API キーをまだ生成していない場合は、ここで生成します。
Githubで自動配置を有効化
Githubで Atlas App Services UI、 App Services CLI 、 App Services Admin APIのいずれかを使用して自動配置を有効にできます。
Atlas App Services Githubアプリのインストール
Githubリポジトリに基づいて を自動的に配置するには、 Atlas App Servicesは、少なくともリポジトリへの読み取りアクセス権を持つGithubアプリをインストールする必要があります。
アプリをインストールするには、App Services UI の左側のナビゲーション メニューで [ Deploymentをクリックします。 [ Configuration ] タブを選択し、[ Install App Services on GitHubをクリックします。 Githubアプリケーション インストール フローに対して新しいブラウザ ウィンドウが開きます。
注意
Github認証
アプリをインストールする前にGithubはGithubアカウントの認証情報を提供する必要がある場合があります。
アプリをインストールするGithubアカウントまたは組織を選択します。
App Services に読み取りアクセスを許可する 1 つ以上のリポジトリを指定します。 Githubの特定のリポジトリを選択することも、すべてのリポジトリへのアクセスを許可することもできます。 使用するリポジトリを選択し、[ Install ] をクリックします。
アプリケーションをインストールしたら、Configuration タブに戻り、Authorize ボタンをクリックして Atlas App Services とGithubの接続を終了します。 Github権限画面が表示されます。 Authorize MongoDB Atlas App Servicesをクリックします。
注意
Github権限
インストールGithub れた GithubGithub アプリ から App Services アプリケーションの権限を管理できます 設定の []Github ページを参照してください。
リポジトリを初期化する
指定した Git リポジトリのローカル コピーをクローンします。
git clone https://github.com/<organization>/<repo>.git
構成されたブランチとディレクトリには、アプリケーションを定義する構成ファイルが含まれている必要があります。 構成を手動で作成することも、既存のアプリのアプリケーション ディレクトリをエクスポートすることもできます。
アプリケーション ディレクトリをリポジトリに追加し、変更をコミットします。
git add -A git commit -m "Adds App Services Application Directory"
アプリケーションの最新バージョンをリポジトリにコミットしたら、それをGithubリポジトリにプッシュします。
git push origin <branch name>
アプリケーションに変更を加える
配置には、前回の配置以降にアプリケーションに対して行った 1 つ以上の変更が含まれます。 配置に含めるリポジトリを追加、変更、または削除します。
アプリケーション ディレクトリの構造とスキーマの詳細については、「 App Configuration 」リファレンス ページと個々のコンポーネントに関するリファレンス ページを参照してください。
重要
自動配置により、スキーマの重大な変更を行わない
重大な変更とも呼ばれる スキーマ変更には特別な処理が必要なため、Atlas App Services はGithubによる自動配置による重大なスキーマ変更の実行をサポートしていません。 代わりに、App Services UI から重大な変更を行う必要があります。
変更をコミットしてプッシュする
アプリケーション構成を更新したら、指定したGithubリポジトリに更新をプッシュすることで、アプリの新しいバージョンとして更新を配置できます。 Githubの自動配置が有効になっている場合、App Services は構成されたブランチとディレクトリの最新のコミットをすぐに配置します。
デプロイの準備ができたら、含めるファイルをすべてコミットし、 Githubにプッシュします。
git add -A git commit -m "<commit message>" git push origin <branch name>
変更がGithubに正常にプッシュされると、App Services は、最新のコミットの状態に一致する新しいバージョンのアプリケーションをすぐに配置します。 クライアント アプリケーションは自動的に最新バージョンを使用するため、必要に応じてクライアント コードもアップデートして新しいバージョンを使用するようにしてください。
バージョン1.1.0の新機能。
CLI を使用して、自動配置を構成、有効、または無効にすることができます。
配置構成コマンドの実行
App Services CLI を使用すると、自動配置を構成するプロセスについて説明します。 これは対話型コマンドです。
appservices deploy configure
コマンドは、任意で含めることができる追加のフラグもサポートしています。 これらのフラグの詳細については、 appservices deployment configure を参照してください。
このコマンドを完了すると、App Services CLI は自動配置をすぐに有効にします。 追加のステップとしてenable
コマンドを実行する必要はありません。
Tip
CLI経由の自動配置の構成はGithub beta機能に依存します
を使用して自動配置を構成できるかどうかは、現在App Services CLI Githubのbeta 機能に依存しています。Githubがこの機能に重大な変更を加えた場合、 App Services CLIを使用して自動配置を構成できなくなる可能性があります。 この場合は、App Services UI または Admin API を使用して自動配置を構成します。
Github beta機能は自動配置の構成にのみ影響します。 以前にアプリケーションの自動配置を構成したことがある場合は、このApp Services CLI betaGithub機能のステータスに関係なく、 を使用してそれを有効または無効にできます。
構成の詳細を無効化、有効化、または表示する(任意)
自動配置を構成した後、App Services CLI を使用して構成の詳細を表示できます。
appservices deploy describe
App Services CLI を使用して、自動配置を無効および有効にすることもできます。 これらのコマンドとそのオプションについて詳しくは、 appservices deployment を参照してください。
MongoDB Atlas ユーザーの認証
MongoDB Atlas API キー ペアを使用して、管理ユーザー認証エンドポイントを呼び出します。
curl -X POST \ https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "username": "<Public API Key>", "apiKey": "<Private API Key>" }'
認証に成功すると、レスポンス本文にはaccess_token
値を持つ JSON オブジェクトが含まれます。
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
access_token
は App Services Admin API へのアクセスを許可します。 すべての管理 API リクエストのAuthorization
ヘッダーに Bearer トークンとして含める必要があります。
既存の配置構成を取得する(任意)
アプリの既存の配置構成を取得するには、配置構成を取得するエンドポイントにGET
リクエストを送信します。
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>'
配置構成を更新する
アプリの既存の配置構成を更新するには、配置構成エンドポイントにPATCH
リクエストを送信します。
curl -X PATCH \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>' \ -d '{ "ui_drafts_disabled": true, "automatic_deployment": { "enabled": true, "provider": "github", "installation_ids": [ "string" ] }, "last_modified": 0 }'
UI からの変更
Githubの自動配置によって、App Services UI からアプリに変更を加えることが妨げられることはありません。 UI を使用してアプリに変更を加えると、App Services はリンクされたGithubリポジトリに変更を自動的にコミットします。
Tip
リンクされたGithubリポジトリに、App Services UI の変更に反映されていない新しいコミットが含まれている場合、App Services はそれらの変更をリポジトリに自動的にコミットできません。 ただし、Exportボタンを使用して更新された構成ファイルをローカルマシンにダウンロードし、 Githubリポジトリに手動でプッシュできます。
リンクされたGithubリポジトリに変更がコミットされると、アプリの配置履歴に Commit: <commit-hash> リンクが表示されます。
Githubでコミットを表示するには、このリンクをクリックします。 mongodb-realm
ボットがコミット作成者として表示されます。
CLI からの変更
以前は、自動配置を構成した後、App Services CLI を使用してアプリに変更を加えないことをお勧めしていました。 App Services CLI v1.1.0以降 以降では、App Services CLI を使用してアプリに変更を安全に追加できます。
App Services CLI バージョン 1.1.0 以降
App Services CLI v1.1.0 以降では、 App Services CLIからのプッシュにより、 Githubに対応するコミットが自動的に生成されます。 これにより、コードの変更はバージョン管理されてGithubソースの真実のと同期されたままになります。
App Services CLI バージョン 1.0.3 以前
App Services CLI v1.0.3 以前では、自動配置の構成後に App Services CLI を使用してアプリに変更を加えないでください。その理由は次のとおりです。
Github 配置が有効になっているときに CLI を使用して変更をプッシュすると、App Services は変更を配置しますが、リンクされたリポジトリにはコミットしません。
リポジトリ内の構成ファイルは、アプリの現在の状態を反映しなくなります。
プッシュした変更を取得するには、コントリビューターがアプリから最新の構成ファイルを手動で直接プルする必要があります。 Githubリポジトリは真実のソースではなくなりました。
コンプライアンスが古いリポジトリに新しいコミットを追加すると、配置されたがコミットされていない変更はすべて上書きされます。
概要
Githubでホストされているリポジトリを変更することでアプリを配置できます。
Githubの自動配置が有効になっている場合、App Services は最新のコミットをすぐに配置します。 デプロイするには、変更をローカルにコミットし、 Githubのリポジトリにプッシュします。
Github自動配置を有効にした後に App Services UI から変更を加えると、それらの変更はリンクされたリポジトリに自動的にコミットされます。
自動配置を有効にした後、 App Services CLIを使用して構成ファイルを更新する場合は、GithubApp Services CLI v1.1.0 を使用します以降に更新します。