Skip to main content

 

アプリケーションライフサイクルを管理する

 

OutSystems

Pivotal Cloud Foundryにアプリケーションをデプロイする

まずはじめに、以下の条件を確認してください。

以下のセクションでは、PCF(Pivotal Cloud Foundry)ホスティングテクノロジーの使用に関する具体的な情報とPCFへのアプリケーションのパブリッシュに関する詳細な手順について説明します。

PCFにホスティングされたアプリケーションとデータを共有する

アプリケーションをPCFにデプロイする前に、アプリケーションの構成ファイルと環境キーファイルがアプリケーションバンドルの正しいフォルダにあることを確認する必要があります。

構成フォルダ

コンテナにバインドされたアプリケーションをPCFにデプロイする場合、OutSystemsプラットフォームは、アプリケーションに設定されたデプロイゾーンの構成で指定されたOutput Config Files toフォルダApp.configファイルを作成します。

このファイルをアプリケーションバンドルの空のconfigsフォルダにコピーしてから、デプロイオペレーションを進める(アプリケーションのcf pushを実行する)必要があります

秘密フォルダ

一部のプラットフォーム機能では暗号化を使用しており、環境キーが必要です。このキーファイルの名前はprivate.keyで、OutSystemsプラットフォームのインストールフォルダ(通常はC:\Program Files\OutSystems\Platform Server)にあります。

このファイルをアプリケーションバンドルのsecretsフォルダにコピーしてから、デプロイオペレーションを進める(アプリケーションのcf pushを実行する)必要があります

SSLオフロード

OSSYS_PARAMETERデータベースに新しいレコードを追加する際は、「エンドツーエンドSSLおよびSSLオフロード」の手順に従っていることを確認してください。
この手順に従ってアプリケーションをパブリッシュしていない場合、アプリケーションの再パブリッシュとPCFへの再プッシュが必要になります。

アプリケーションをPCFにパブリッシュする

アプリケーションをパブリッシュする前に、PCFにデプロイにするためのシステム要件に従って、Pivotal Apps Managerでご利用の「org」に推奨ドメインエントリが2つあることを確認してください。

これらの手順は、「コンテナにアプリケーションをパブリッシュする」で概説されている一般的な手順に基づいています。これらの手順を読んでから進めるようにしてください。

1. アプリケーションをコンパイルしてバンドルを生成する

パブリッシュプロセスを開始して、アプリケーションバンドルを生成するには、以下の手順を実行します。

  1. Service Centerで、[Factory] > [Applications]に移動して、アプリケーション名をクリックします。

  2. [Publish]ボタンをクリックします。

Service Centerには、アプリケーションのコンパイル、バイナリの生成、後でコンテナイメージの作成に使用するアプリケーションバンドルの作成といったこの段階の進捗状況が表示されます。

バンドルの作成後、Service Centerは最後のログメッセージで以下の2つの重要な情報を表示します。

生成されたバンドルファイルの名前とフルパス(ZIPファイル)

このファイルは、アプリケーションをコンテナにデプロイする第2段階で使用します。ファイル名は以下のテンプレートに従って定義されます。<ApplicationKey>_<OperationId>.zip

例:
\\twoflower\luggage\bundles\07897a77-3f58-4e5b-b926-a48605c0b6d0_dab321f9-72e8-44e8-ae5c-2c8212314cf6.zip

デプロイの準備手順で想定される結果ファイルの名前とフルパス
手動または何らかの自動化ツールを使用して作成する必要がある「デプロイの準備」手順の結果ファイルの名前とパス。このメッセージは、手順3で対応するためこの時点では無視してください。

2. アプリケーションをPCFにプッシュする

この第2段階で、オペレータ(人間または自動化されたデプロイツール)は、OutSystemsプラットフォームのスコープ外で一連のオペレーションを実行する必要があります。

アプリケーションをPCFにプッシュするには、以下の手順を実行します。

  1. アプリケーションバンドルのZIPファイルの内容を任意のフォルダに解凍します。

  2. private.keyファイルをプラットフォームのインストールフォルダ(通常はC:\Program Files\OutSystems\Platform Server)からアプリケーションバンドル内のsecretsフォルダにコピーします。

  3. App.configファイルをデプロイゾーンに構成されたOutput Configs Toフォルダからアプリケーションバンドル内のconfigsフォルダにコピーします。

  4. PowerShellを使用して対象フォルダに移動し、以下のコマンドを実行します。

    cf push --no-start

    これにより、アプリケーションがPCFにプッシュされ、起動する準備をします。コマンドが正常に実行されると、出力には、OutSystemsアプリケーション名に基づくPCF上のアプリケーション名が含まれます。

3. デプロイの準備手順の結果ファイルを作成する

手順2でアプリケーションをプッシュした後、Service Centerは「デプロイの準備」手順の結果ファイルを要求します。そのため、構成済みのResultフォルダに想定される名前と内容で「デプロイの準備」手順の結果ファイルを作成する必要があります(同じ情報がビルドログメッセージに表示されます)。ファイル名は想定される値に完全に一致し、拡張子は.preparedoneである必要があります。

例:
\\twoflower\luggage\results\07897a77-3f58-4e5b-b926-a48605c0b6d0_dab321f9-72e8-44e8-ae5c-2c8212314cf6.preparedone

デプロイの準備オペレーションの結果に応じて次のシナリオのいずれかに従います。

デプロイの準備に成功した場合
デプロイゾーンの構成済みのResultフォルダに想定される名前(.preparedone拡張子)の空のファイルを作成します。
デプロイの準備に失敗した場合

正しいファイル名で拡張子が.preparedoneであるJSONファイルを作成します。内容は次に示すテンプレートに従います(ユーザーが定義した以下のエラーメッセージが含まれています)。

{"Error":{"Message":"This user-defined error message will appear in the progress log messages in Service Center."}}

次に、デプロイゾーンの構成済みのResultフォルダに結果ファイルをコピーします。

4. コンテナを起動する

この第4段階で、オペレータ(人間または自動化されたデプロイツール)は、上記でプッシュしたアプリケーションを起動します。

コンテナを起動するには、以下の手順を実行します。

  1. PowerShellで以下のコマンドを実行します。

    cf start <アプリ名>

    <アプリ名>は、上記で実行したcf pushコマンドで出力されたPCFのアプリケーション名で置き換えます。

    オペレーションが成功すると、アプリケーションの状態が出力されます。

  2. PowerShellで以下のコマンドを発行し、コンテナ内部のアプリケーションが動作していることを確認します。

    cf app <アプリ名>

    アプリケーションの状態が出力されます。

5. コンテナのネットワークルーティング規則を定義する

この第5段階で、オペレータは、デプロイゾーンアドレスを使用してコンテナ内部のアプリケーションにアクセスできることを確認します。

まず、PCFルーターがアプリケーションモジュールに対するリクエストの処理方法を理解できるように、ルートマッピングを追加する必要があります。

  1. PowerShellコンソールで、以下のコマンドを実行し、アプリケーションのモジュールごとにルートを追加します(モジュール名ごとに繰り返します)。

    cf map-route <アプリ名> <パブリックアドレス> --path <モジュール名_N>
    cf map-route <アプリ名> <ゾーンアドレス> --path <モジュール名_N>
    

    以下のとおり置き換えます。

    • <アプリ名>は、上記で実行したcf pushコマンドで出力されたPCFのアプリケーション名で置き換えます。
    • <グローバルアドレス>は、PCFの要件に記載されたメインのロードバランサとリバースプロキシのグローバルアドレスで置き換えます。
    • <ゾーンアドレス>は、PCFゾーンアドレス(PCFの要件にも記載)で置き換えます。
    • <モジュール名_N>は、現在のモジュール名で置き換えます。

オペレーションが成功すると、コマンドによってアプリケーションの状態が出力されます。

さらに、内部ネットワークの外部で発生したリクエストがPivotal Cloud Foundryコンテナ内部で動作する別のOutSystemsアプリケーションモジュールにアクセスできるように、メインのロードバランサとリバースプロキシでルーティング規則を複数設定することが必要になる可能性が高いです。

PCFの例: PCFのルートを定義してIISのルーティング規則を設定する

IISを使用してコンテナで動作するアプリケーションへのネットワークルーティングを行う方法を学習するには、「PCFのルートを定義してIISのルーティング規則を設定する」をご覧ください。このドキュメントでは、このようなシナリオで必要な最低限のルーティング規則を定義する方法を説明しています。
最終的なルーティング構成はネットワークチームおよびDevOpsチームと検証してください。

アプリケーションに構成されたデプロイゾーンの内部アドレスとグローバルアドレス(該当する場合)を使用して、アプリケーションモジュールにアクセスできることを確認します。
たとえば、アプリケーションにDirectoryモジュールとEmployeesモジュールが含まれる場合、少なくとも<ゾーンアドレス>/Directory<ゾーンアドレス>/Employeesのアドレスにアクセスできる必要があります。公開アクセスを想定している場合は、<パブリックアドレス>/Directory<パブリックアドレス>/Employeesのアドレスにもアクセスできる必要があります。

6. デプロイ手順の結果ファイルを作成する

この段階で、オペレータは、アプリケーションのデプロイゾーンに構成されたResultフォルダに想定される名前と内容で「デプロイ」手順のデプロイ結果ファイルを作成します(同じ情報がビルドログメッセージに表示されます)。ファイル名は想定される値に完全に一致し、拡張子が.deploydoneである必要があります。

例:
\\twoflower\luggage\results\07897a77-3f58-4e5b-b926-a48605c0b6d0_dab321f9-72e8-44e8-ae5c-2c8212314cf6.deploydone

デプロイオペレーションの結果に応じて次のシナリオのいずれかに従います。

デプロイに成功した場合
デプロイゾーンの構成済みのResultフォルダに想定される名前(.deploydone拡張子)の空のファイルを作成します。
デプロイに失敗した場合

正しいファイル名で拡張子が.deploydoneであるJSONファイルを作成します。内容は次に示すテンプレートに従います(ユーザーが定義した以下のエラーメッセージが含まれています)。

{"Error":{"Message":"This user-defined error message will appear in the progress log messages in Service Center."}}

次に、デプロイゾーンの構成済みのResultフォルダに結果ファイルをコピーします。

  • Was this article helpful?