webappをOpenShift v2からOpenShift Proに移行しています。これは通常のJava Tomcatアプリです。OpenShiftマイグレーション - CONVファイル内のENV変数の前に置き換えられていません
OpenShift v2で私のWebアプリケーションは、追加の文書ベースは次のようにserver.xmlで指定した:
<Context docBase="${OPENSHIFT_DATA_DIR}/documents" path="/documents" />
展開OPENSHIFT_DATA_DIR変数の値に置き換えた環境時:は/ opt /アプリルート/データ
私はOpenShift Proに同等の設定をしましたが、展開は失敗しました。調査の結果、私は、ログにこれを見た:
Caused by: java.lang.IllegalArgumentException: The main resource set specified [/deployments/${OPENSHIFT_DATA_DIR}/documents] is not valid
私は単にハード、このようなserver.xmlのは/ opt /アプリ-ルート/データをコード化され、これを克服するために:
<Context docBase="/opt/app-root/data/documents" path="/documents" />
次は展開が機能しました。
私の質問は以下のとおりです。
が、これは展開プロセスのバグですか?
環境変数を構成ファイルに注入するのは間違っていますか?
もしそうなら、正しい方法はありますか?
任意の助けをいただければ幸い、私はハードなものをコーディング好きではない、それは常にいくつかの将来の日付であなたを噛まないように戻ってくる... V2にある設定された特別な環境変数の
グラハム氏に感謝します。問題は環境変数ではなく、その置き換えです。 $ {OPENSHIFT_DATA_DIR}は正しく置き換えられず、 '/ deployments/$ {OPENSHIFT_DATA_DIR}'と置き換えられました。元のテキストの前に '/ deployments /'があることに注意してください。私はちょうどこのように指定された環境変数を持つ私のシステム上のlog4j.xmlファイルを見ました:$ {env:OPENSHIFT_DATA_DIR}だから私は後で試してみるつもりです... – Lyndon
そして私は$ {env :OPENSHIFT_DATA_DIR}も置き換えられませんでした。私はログにこれを持っています:指定された主なリソースセット[/ deployments/$ {env:OPENSHIFT_DATA_DIR}/temp]は無効です。 – Lyndon