Docs Menu
Docs Home
/ /
Atlas App Services

Githubでの自動配置

項目一覧

  • Overview
  • 前提条件
  • Githubで自動配置を有効化
  • UI からの変更
  • CLI からの変更
  • 概要

アプリ構成ファイルを にプッシュするたびに、 AppAtlas App ServicesGithub を自動的に配置するように構成できます。 リポジトリを使用します。Githubリポジトリをコンピューターにクローンし、標準の Github コマンドを使用して最新バージョンをプルダウンし、新しい変更を配置できます。

  • Githubアカウントとリポジトリ。リポジトリは空であるか、既存のアプリのエクスポートされた構成ディレクトリを含める必要があります。 空のリポジトリの作成方法については、 の「リポジトリの 作成 」Github を参照してください。 ガイドを参照してください。

  • Git CLI のインストール済みコピー。 gitがインストールされていない場合は、 Git のインストール に関する公式ガイドを参照してください 。

  • アプリの基盤となる Git リポジトリへのアクセスを認証および承認するためのMongoDB Atlasプログラマティック API キー。 Atlas 組織のプログラム API キーをまだ生成していない場合は、ここで生成します。

Githubで Atlas App Services UI、 App Services CLI 、 App Services Admin APIのいずれかを使用して自動配置を有効にできます。

1

Githubリポジトリに基づいて を自動的に配置するには、 Atlas App Servicesは、少なくともリポジトリへの読み取りアクセス権を持つGithubアプリをインストールする必要があります。

アプリをインストールするには、App Services UI の左側のナビゲーション メニューで [ Deploymentをクリックします。 [ Configuration ] タブを選択し、[ Install App Services on GitHubをクリックします。 Githubアプリケーション インストール フローに対して新しいブラウザ ウィンドウが開きます。

注意

Github認証

アプリをインストールする前にGithubはGithubアカウントの認証情報を提供する必要がある場合があります。

アプリをインストールするGithubアカウントまたは組織を選択します。

Githubアプリケーションのインストール場所の画面

App Services に読み取りアクセスを許可する 1 つ以上のリポジトリを指定します。 Githubの特定のリポジトリを選択することも、すべてのリポジトリへのアクセスを許可することもできます。 使用するリポジトリを選択し、[ Install ] をクリックします。

Githubアプリケーション権限リクエスト画面

アプリケーションをインストールしたら、Configuration タブに戻り、Authorize ボタンをクリックして Atlas App Services とGithubの接続を終了します。 Github権限画面が表示されます。 Authorize MongoDB Atlas App Servicesをクリックします。

Githubアプリケーション認可リクエスト画面

注意

Github権限

インストールGithub れた GithubGithub アプリ から App Services アプリケーションの権限を管理できます 設定の []Github ページを参照してください。

2

Githubアカウントを App にリンクしたら、App Services が自動的に配置するリポジトリを指定できます。 アプリの構成ファイルを含むRepositoryBranchDirectoryを指定し、 Saveをクリックします。

Githubリポジトリの選択

注意

リポジトリのリストには、App Services に読み取りアクセスを付与したリポジトリのみが含まれます。

3

指定した 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>
4

配置するリポジトリを指定し、アプリの最新バージョンで初期化した後、リポジトリを開始するには 自動配置 を有効にする必要があります。 DeployページのConfigurationタブで、 Enable Automatic Deploymentをクリックします。 表示されるモーダルで、[ Enable Automatic Deploymentをクリックして選択を確定します。

App Services UI での自動Github配置の有効化
5

配置には、前回の配置以降にアプリケーションに対して行った 1 つ以上の変更が含まれます。 配置に含めるリポジトリを追加、変更、または削除します。

アプリケーション ディレクトリの構造とスキーマの詳細については、「 App Configuration 」リファレンス ページと個々のコンポーネントに関するリファレンス ページを参照してください。

重要

自動配置により、スキーマの重大な変更を行わない

重大な変更とも呼ばれる スキーマ変更には特別な処理が必要なため、Atlas App Services はGithubによる自動配置による重大なスキーマ変更の実行をサポートしていません。 代わりに、App Services UI から重大な変更を行う必要があります。

6

アプリケーション構成を更新したら、指定したGithubリポジトリに更新をプッシュすることで、アプリの新しいバージョンとして更新を配置できます。 Githubの自動配置が有効になっている場合、App Services は構成されたブランチとディレクトリの最新のコミットをすぐに配置します。

デプロイの準備ができたら、含めるファイルをすべてコミットし、 Githubにプッシュします。

git add -A
git commit -m "<commit message>"
git push origin <branch name>

変更がGithubに正常にプッシュされると、App Services は、最新のコミットの状態に一致する新しいバージョンのアプリケーションをすぐに配置します。 クライアント アプリケーションは自動的に最新バージョンを使用するため、必要に応じてクライアント コードもアップデートして新しいバージョンを使用するようにしてください。

注意

配置履歴

App Services UI の [配置履歴]表では、現在配置されているアプリケーションのバージョンと、以前の配置の履歴ログを確認できます。

バージョン1.1.0の新機能

CLI を使用して、自動配置を構成、有効、または無効にすることができます。

1

MongoDB Atlas Admin API キーを使用して CLI にログインします。

appservices login --api-key="<my api key>" --private-api-key="<my private api key>"
2

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機能のステータスに関係なく、 を使用してそれを有効または無効にできます。

3

自動配置を構成した後、App Services CLI を使用して構成の詳細を表示できます。

appservices deploy describe

App Services CLI を使用して、自動配置を無効および有効にすることもできます。 これらのコマンドとそのオプションについて詳しくは、 appservices deployment を参照してください。

1

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 トークンとして含める必要があります。

Tip

以下も参照してください。

2

アプリの既存の配置構成を取得するには、配置構成を取得するエンドポイントにGETリクエストを送信します。

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \
-H 'Authorization: Bearer <access_token>'
3

アプリの既存の配置構成を更新するには、配置構成エンドポイントに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
}'

Githubの自動配置によって、App Services UI からアプリに変更を加えることが妨げられることはありません。 UI を使用してアプリに変更を加えると、App Services はリンクされたGithubリポジトリに変更を自動的にコミットします。

Tip

リンクされたGithubリポジトリに、App Services UI の変更に反映されていない新しいコミットが含まれている場合、App Services はそれらの変更をリポジトリに自動的にコミットできません。 ただし、Exportボタンを使用して更新された構成ファイルをローカルマシンにダウンロードし、 Githubリポジトリに手動でプッシュできます。

リンクされたGithubリポジトリに変更がコミットされると、アプリの配置履歴に Commit: <commit-hash> リンクが表示されます。

Githubリポジトリの選択

Githubでコミットを表示するには、このリンクをクリックします。 mongodb-realmボットがコミット作成者として表示されます。

Githubリポジトリの選択

以前は、自動配置を構成した後、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 を使用します以降に更新します。

次へ

Atlas アプリケーション サービスとは