Pantheon の使用

Apigee では、ウェブサイト管理サービス Pantheon を使用して、Developer Services ポータルのクラウドベース バージョンをホストします。Pantheon は Drupal と連動するので、ポータルの開発、テスト、公開をセキュアな環境で行うことができます。Pantheon のウェブサイト管理サービスは、世界中のホスティングと開発のオペレーションを必要とするお客様にご利用いただけます。

以下のセクションでは、Pantheon を使用してポータルを開発、管理する方法について説明します。

Pantheon Dashboard へのアクセス

Apigee からポータルの URL が送られてくるとき、それとともに Pantheon ダッシュボードの URL(https://dashboard.getpantheon.com/)も受け取ります。

Pantheon ダッシュボードに初めてログインすると、以下のような [Sites] ページが表示されます。

ダッシュボードでは、サイトへのアクセス、アカウントの構成、その他の操作を行うことができます。

サイト(例: apigeedocs)の画像を選択すると、そのサイトのダッシュボードが開きます。

環境の管理

Pantheon ダッシュボードのページ上部には、Dev(開発)、Test(テスト)、Live(ライブ)という 3 つの環境がリストされています。それぞれの環境について次の表で説明します。

環境

説明

Dev(開発)

Dev 環境は Git リポジトリに接続されます。Git に push したすべての変更は、Dev 環境に即時に表示されます。

このサイトの URL の形式は次のとおりです。org_name は組織の名前です。

http://dev-{org_name}.devportal.apigee.io/

Test(テスト)

Test 環境は、Live 環境から取得したデータコピーを使って最新のコードをテストするための環境です。この環境では、Live 環境に push する前にコードの変更内容をテストします。

このサイトの URL の形式は次のとおりです。org_name は組織の名前です。

http://test-{org_name}.devportal.apigee.io/

Live(ライブ)

Live 環境は、お客様がアクセスできる本番環境です。

このサイトの URL の形式は次のとおりです。org_name は組織の名前です。

http://live-{org_name}.devportal.apigee.io/

ポータル コンテンツの開発

次の各セクションでは、ポータル コンテンツを開発する方法について説明します。

ポータルのカスタマイズの詳細については、以降のセクションもご覧ください。

実行したい操作

実行できる操作

詳細情報

サイトの外観の変更

基本 - ポータルサイトで [Appearance] メニュー エントリを使用して、ロゴやサイトの色などを変更します。

外観のカスタマイズを参照

詳細設定 - サイトの外観を全体的に変更するには、Apigee Responsive テーマを拡張します。

テーマのカスタマイズを参照

サイト機能の動作の変更

基本 - ポータルで管理者設定を使用してサイトの動作を変更または構成します。

ここから Apigee ドキュメントを参照

詳細設定 - カスタム モジュールを作成してサイトの動作を変更します。

Drupal ドキュメントの Creating custom modules を参照

Git リポジトリの概要

Drupal コードの Git リポジトリにはすべてのポータルコードが含まれます。このリポジトリは以下の構造を使用して編成されます。

: 変更できるのは /sites/all ディレクトリ内のコンテンツのみです。/sites/all ディレクトリ以外のコンテンツを変更すると、新しいバージョンにアップグレードする際に問題が発生し、変更を Git にチェックインする際にマージの競合が発生する可能性があります。

Git リポジトリのフォルダ

説明

/profiles/apigee

Apigee により保守されるモジュールとテーマ。次のものがあります。

  • /profiles/apigee/modules/contrib: Apigee によって保守される Drupal contrib モジュール
  • /profiles/apigee/themes/contrib: Apigee によって保守される Drupal contrib テーマ
  • /profiles/apigee/modules/custom: Apigee によって作成されるカスタム モジュール
  • /profiles/apigee/themes/custom: Apigee により作成されたカスタムテーマ

: /profiles/apigee ディレクトリの内容を変更しないでください。変更すると、新しいバージョンにアップグレードする際に問題が発生し、Git に変更をチェックインする際にマージの競合が発生する可能性があります。Drupal のベスト プラクティスについては、Never hack core をご覧ください。

/sites/all

カスタムの Drupal モジュールとテーマ。このフォルダのコンテンツの管理については、カスタムのモジュールとテーマの追加Drupal プロファイル モジュールとテーマのオーバーライドをご覧ください。

: 変更できるのは /sites/all ディレクトリ内のコンテンツのみです。

コードへのアクセス

Git のコード リポジトリにアクセスするには、次の各セクションで説明するタスクを実行する必要があります。

Drupal 7 デベロッパー ポータルのソースコードにアクセスするにはどうすればよいですか?もご覧ください。

サーバーへの SSH アクセスの有効化

Git を使用して Drupal コードを管理する前に、SSH 認証鍵を Pantheon にアップロードすることで、SSH を使ってサーバーにアクセスできるようにする必要があります。

サーバーへの SSH アクセスを有効にするには:

  1. https://dashboard.getpantheon.com/ で Pantheon にログインします。
  2. ダッシュボードで [Account] を選択します。
  3. 左側のメニューで [SSH Keys] を選択します。
  4. キーを追加して [Add key] を選択します。
    ヘルプが必要な場合は、[Learn how to generate an SSH Key] リンクを選択してください。

Git のコード リポジトリへのアクセス

: Git リポジトリ構造の概要については、Git リポジトリの概要をご覧ください。

Git のコード リポジトリにアクセスするには:

  1. Pantheon ダッシュボードにログインします。
  2. メインの [Sites] ページでポータルのアイコンを選択します。
  3. 前の図に示したように、このページでは Git リポジトリの URL が [Connection Mode] の右側に表示されます。
  4. Git リポジトリの URL をコピーし、次のコマンドを使用してローカル開発環境にクローンを作成します。
    > git clone gitURL sitename
    例:
    > git clone ssh://codeserver.dev.12@codeserver.dev.12.drush.in:2222/~/repository.git devportal

Git リポジトリに push されるすべてのコード変更が、ポータルの Dev 環境にすぐに反映されます。

ポータル環境へのコードのデプロイ

ポータル環境にコードをデプロイするには:

  1. コードの更新内容を Git に push すると、すぐに Dev 環境が更新されます。
  2. Pantheon にログインしてサイトを選択します。
  3. Dev 環境を選択します。
  4. 左側のメニューで [</>Code] を選択します。コード変更に関するメッセージが [Commit Log] に表示されます。
  5. ページの上部で Test 環境を選択します。
    1. まだ DevTest にアップロードしていない場合、今すぐアップロードするよう促すメッセージが表示されます。
    2. Test 環境をすでに使用している場合、デプロイ可能な Dev からの commit が存在することを通知するメッセージが表示されます。
  6. すでにサイトを Live 環境に push 済みの場合、オプションで、3 番目のチェックボックスをオンにすると、ライブ データベースおよびデベロッパーがアップロードしたすべてのファイルが Live から Test にコピーされます。Live で使用可能な最新データを使ってコードの変更をテストするには、この手順が便利です。
  7. [Deploy Code from Development] ボタンを選択します。
  8. Test 環境でポータルをテストします。
  9. Dev 環境でコードを修正して、テストのためにファイルを Test に再び push します。
  10. テストが完了したら、ページの上部で Live 環境を選択します。
    1. Test を Live にまだアップロードしていない場合、今すぐアップロードするよう促すメッセージが表示されます。
    2. Live 環境をすでに使用している場合、デプロイ可能な Test からの commit が存在することを通知するメッセージが表示されます。Dev から Test へのデプロイと同じ方法で、これらの変更をデプロイします。テストが完了したら、コードを Live 環境に push します。

詳細:

  • Pantheon で提供されている、このプロセスに関する Going Live の記事を参照できます。特に重要な記事の 1 つ Using the Pantheon Workflow では、サイトの開発、テスト、push の方法について概説します。

カスタム モジュールとテーマの追加

次の表に示すフォルダに独自のカスタム モジュールとテーマを追加することで、ポータルの機能を拡張できます。

: 変更できるのは /sites/all ディレクトリ内のコンテンツのみです。/sites/all ディレクトリ以外のコンテンツを変更すると、Git に変更をチェックインする際にマージの競合が発生する可能性があります。

モジュール / テーマ Git リポジトリのフォルダ 詳細情報(Drupal ドキュメント)
カスタム モジュール sites/all/modules/custom Creating custom modules
カスタムテーマ sites/all/themes Customizing the theme
Theming Drupal 7

ポータル環境へのコードのデプロイで説明されているように、Dev 環境にカスタム モジュールまたはテーマを追加したら、それをテスト用に Test 環境にデプロイ後、本番用に Live 環境にデプロイできます。

Drupal プロファイル モジュールとテーマのオーバーライド

次のディレクトリにあるモジュールとテーマによって、Apigee が保守して配布する /profiles/apigee の Drupal プロファイル モジュールとテーマがオーバーライドされます。Git リポジトリの概要をご覧ください。

たとえば、以下のシナリオで、Apigee Drupal ディストリビューションのモジュールをオーバーライドできます。

  • 特定のモジュールの別のバージョンを使用したい場合。
  • 次のスケジュールされた Apigee リリースの前にセキュリティ更新を実装したい場合。
モジュール / テーマ Git リポジトリのフォルダ 詳細情報(Drupal ドキュメント)
Drupal 提供モジュール

sites/all/modules/contrib

: Apigee Drupal ディストリビューションのモジュールは、/sites/all/modules の下のいずれかの場所に格納されているモジュールによってオーバーライドされます。

Contributed modules

: このディレクトリ内の Drupal 提供モジュールは、/profiles/apigee/modules 内にある Apigee で保守、配布される同等のモジュールをオーバーライドします。Apigee が保守した Drupal プロファイル モジュールを使用する場合は、このフォルダに追加したすべての重複するモジュールを削除してください。

Drupal 提供テーマ sites/all/themes Contributed themes

: このディレクトリの Drupal 提供テーマによって、Apigee が保守して配布する /profiles/apigee/themes の同等のモジュールがオーバーライドされます。Apigee で保守されるプロファイル モジュールを使用するには、このフォルダに追加済みの重複するモジュールをすべて削除してください。

settings.php ファイルについて

Apigee Drupal Developer Portal アップストリーム Git リポジトリの中に Drupal settings.php が commit されます。sites/default/settings.php ファイルを変更する必要がある場合は、このファイルを直接編集しないでください。その代わりに、sites/default/settings.local.php という名前のファイルを作成し、その中にカスタムコードを配置します。sites/default/settings.local.phpsettings.php ファイルによりインクルードされます。

たとえば、Pantheon の手順に従いライブサイトのカスタム ドメインを設定するときには、settings.php ファイルを直接変更する代わりに、sites/default/settings.local.php に必要な更新を追加します。

ポータルのセキュリティ保護

DevTestLive 環境に関連付けられたポータルサイトは、デフォルトでパブリック アクセス可能です。つまり、このサイトの URL を知っていれば誰でもサイトにアクセスできます。ただし、アカウントの登録やサイトへのログインはできない可能性があります。ユーザー登録の制御について、詳しくはユーザー アカウントの追加と管理をご覧ください。

多くの場合、Dev サイトと Test サイトを非公開にし、開発が完了するまでは Live サイトも非公開にするのが適切でしょう。Pantheon では、サイトをロックするためのユーザー名/パスワード制御を追加できます。これにより、適切な認証情報を持つユーザーだけがアクセスできます。

3 つの環境のいずれかでロックを追加するには、該当する環境の左側にあるメニューで [Security] を選択します。詳細については、サイトのロックをご覧ください。

サイトの TLS/SSL を有効にするには、ポータルでの SSL の使用をご覧ください。

ポータルへの Apigee 更新の適用

Apigee がポータルの新リリースを公開すると、メッセージが Pantheon ダッシュボードに表示されます。

通常は、Dev 環境に更新を適用した後、自分のコードの変更をテストする場合と同じ方法でこれらの変更をテストします。たとえば Dev 環境を Test に push し、Live から Test にライブデータを push した後、更新をテストします。

更新の適用

  1. Pantheon(https://dashboard.getpantheon.com/)にログインしてサイトを選択します。
  2. Dev 環境を選択します。
  3. 左側で [</>Code] メニュー エントリを選択します。Apigee の更新が利用可能になると、これらの更新がリストされます。
  4. 更新を適用します。
    1. [Run update.php after pulling code] チェックボックスをオンにします。
    2. [Clear caches after pulling code] チェックボックスが表示される場合は、これをオンにします。
    3. [Deploy Code] ボタンを選択します。
  5. 更新が完了したら、ダッシュボードの左側で [Status] メニュー項目を選択します。
  6. 環境の [Status] 領域に、次に示すようなデータベース更新エラーが表示されることがあります。

    環境でこのエラーが表示される場合は、データベースを手動で更新します。

    1. 管理者またはコンテンツ作成特権を持つユーザーとしてポータルにログインします。
    2. ポータルの左上隅で [Home] アイコン > [Run updates] を選択します。
    3. 手順に従ってデータベースを更新します。
  7. 前述の説明に従って Test 環境にコードの変更を push し、次に Live に push します。

カスタム機能の移行

カスタムコードまたは機能をポータルに追加する場合、これらを保守する方法と、Dev から TestLive 環境へ移行する方法を決定する必要があります。

Git リポジトリ内のコードの場合、ポータル環境へのコードのデプロイの手順に沿って Dev から、TestLive へコードを移行できます。

カスタム構成を作成済みの場合は、次のいずれかの方法を使用して移行します。

方法 説明
構成のコードへのエクスポート 多くの一般的な構成は、Features モジュールを使用してコードに「エクスポート可能」です。たとえば、ビュー、パネル、イメージ キャッシュなどです。
hook_update_N() 関数の実装 Drupal はデータベースと構成の変更を hook_update_N() 関数を使用して管理します。

カスタム モジュールがある場合は、次の操作を実行できます。

  • モジュールの .install ファイルに hook_update_N() 関数を追加して、変更を処理します。
  • これらの変更をコードとともにデプロイします。
  • update.php を実行して、ステージング環境と本番環境の変更を移行する。

また、サイトの開発、テスト、push の方法を概説する Using the Pantheon Workflow もご覧ください。この記事には、構成の管理に関するセクションが含まれています。

カスタム ドメインの構成

環境の管理で説明しているように、Apigee でポータルに与えられるドメイン名はデフォルトで apigee.io ですが、このドメイン名を顧客に公開したくない場合もあるでしょう。

有料のポータルプランでは、ポータルのカスタム ドメイン名を構成できます(無料アカウントであるデベロッパーでは、カスタム ドメインを作成できません)。カスタム ドメインを使用するには、DNS で CNAME を作成して、ドメインを edge.apigee.getpantheon.com にポイントします。

たとえば、Mytech という会社のカスタム ドメインを構成するには、次の手順に従います。

  1. 以下の DNS 設定を構成します。
    developer.mytech.com. 3600 IN CNAME edge.apigee.getpantheon.com
    DNS のこの変更がすべてのクライアント デバイスで有効になるまで、最大で 48 時間かかることがあります。
  2. ダッシュボードの左側にある [Domains / SSL] メニュー エントリを使用して、Live 環境専用の Pantheon Dashboard にこのドメインを追加します。
    多くの場合、DevTest ではなく Live 環境用にのみ DNS を構成します。本番環境として Dev または Test 環境を使用しないでください。

詳細については、ここで Pantheon ドキュメントをご覧ください。

ポータル管理者の追加

ポータルの準備が整ったことを通知するメールを Apigee から受信した時点で、Apigee ではポータル管理者のリストがすでに構成されています。このリストを表示するには、サイト ダッシュボードの右上で [Team] リンクを選択します。

管理者を追加するには、管理者ユーザーの作成をご覧ください。

ポータルのバックアップ

ポータルをバックアップするには、Pantheon ダッシュボードの [Backups] タブを使用します。オンデマンド バックアップまたは自動バックアップを作成できます。Pantheon では、バックアップは 3 種類のアーカイブ(データベース、ファイル、コード)で構成されています。

詳細については、Pantheon ドキュメントの Backups Tool をご覧ください。

ステータスの更新を受信するための登録

status.apigee.com で、Apigee のリリースおよびステータスの更新を受信するよう登録できます。[Subscribe to Updates] をクリックし、プロンプトが表示されたらメールアドレスなどの連絡先情報を入力し、[Subscribe] をクリックします。メール通知管理ページで、[Developer Portal] を確実に選択し、必要に応じて他の通知設定を切り替えて、[Update Preferences] をクリックします。

http://status.getpantheon.com で、Pantheon のステータス更新とインシデント レポート(停電発生時など)を受信するよう登録できます。[Subscribe to Updates] をクリックして登録してください。