検索

第5章 参照

download PDF

5.1. Source-to-Image (S2I)

Red Hat JBoss Web Server for OpenShift イメージには、S2I スクリプト と Maven が含まれています。

5.1.1. OpenShift の JWS での Maven アーティファクトリーポジトリーミラーの使用

Maven リポジトリーは、プロジェクト jar、ライブラリー jar、プラグイン、その他のプロジェクト固有のアーティファクトなどのビルドアーティファクトおよび依存関係を保持します。また、S2I ビルドの実行中にアーティファクトをダウンロードするための場所も定義します。Maven Central Repository の使用に加えて、ローカルのカスタムリポジトリー (mirror) もデプロイします。

ローカルミラーを使用する利点は次のとおりです。

  • 地理的に近く、高速な同期ミラーを使用できる。
  • リポジトリーコンテンツの制御が強化されます。
  • パブリックサーバーおよびリポジトリーに依存する必要なく、異なるチーム (開発者、CI) 全体でアーティファクトを共有できる。
  • ビルド時間が改善される。

Maven リポジトリーマネージャー はミラーへのローカルキャッシュとして機能できます。リポジトリーマネージャーがすでにデプロイされ、外部で http://10.0.0.1:8080/repository/internal/ にアクセスできる場合、S2I ビルドはこのリポジトリーを使用できます。内部 Maven リポジトリーを使用するには、MAVEN_MIRROR_URL 環境変数をアプリケーションのビルド設定に追加します。

新規ビルド設定の場合は、oc new-app または oc new-build--build-env オプションを指定します。

$ oc new-app \
 https://github.com/jboss-openshift/openshift-quickstarts.git#master \
 --image-stream=jboss-webserver<version>-openjdk8-tomcat9-openshift-rhel7:latest\*
 --context-dir='tomcat-websocket-chat' \
 --build-env MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/ \
 --name=jws-wsch-app

既存のビルド設定の場合

  1. MAVEN_MIRROR_URL 変数を必要とするビルド設定を特定します。

    $ oc get bc -o name
    
    buildconfig/jws
  2. MAVEN_MIRROR_URL 環境変数を buildconfig/jws に追加します。

    $ oc env bc/jws MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/"
    
    buildconfig "jws" updated
  3. ビルド設定が更新されたことを確認します。

    $ oc env bc/jws --list
    
    # buildconfigs jws
    MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/
  4. oc start-build を使用したアプリケーションの新規ビルドのスケジュール
注記

アプリケーションのビルド中、Maven 依存関係はデフォルトのパブリックリポジトリーではなく、リポジトリーマネージャーからプルされることを確認できます。ビルドが完了すると、ミラーにはビルド時に取得され、使用されるすべての依存関係が含まれます。

5.1.2. Red Hat JBoss Web Server for OpenShift イメージに含まれるスクリプト

run
Catalina (Tomcat) の実行
assemble
Maven を使用してソースを構築し、パッケージ (.war) を作成し、$JWS_HOME/tomcat/webapps ディレクトリーに移動します。

5.1.3. OpenShift データソースの JWS

データソースには 3 つのタイプがあります。

  1. デフォルトの内部データソース: これらは PostgreSQL、MySQL、および MongoDB です。これらのデータソースは、Red Hat レジストリー介して OpenShift ではデフォルトで利用でき、イメージストリームに追加の環境ファイルを設定する必要がありません。データベースを検出可能にして、データソースとして使用されるようにするには、DB_SERVICE_PREFIX_MAPPING 環境変数を OpenShift サービスの名前に設定します。
  2. その他の内部データソース: これらは、Red Hat レジストリーを介してデフォルトでは利用できない、OpenShift 上で実行されるデータソースです。これらのデータソースの設定は、OpenShift Secret に追加された環境ファイルによって提供されます。
  3. 外部データソース: 外部データソースの OpenShift.Configuration で実行されないデータソースは、OpenShift のシークレットに追加された環境ファイルによって提供されます。

データソース環境ファイルは、プロジェクトの OpenShift Secret に追加されます。これらの環境ファイルは、ENV_FILES 環境プロパティーを使用してテンプレート内で呼び出されます。

データソースは、特定の環境変数の値に基づいて自動的に作成されます。最も重要な環境変数は DB_SERVICE_PREFIX_MAPPING です。DB_SERVICE_PREFIX_MAPPING はデータソースの JNDI マッピングを定義します。この変数で使用できる値は、POOLNAME-DATABASETYPE=PREFIX トリプレットのコンマ区切りリストです。 説明を以下に示します。

  • POOLNAME はデータソースの pool-name として使用されます。
  • DATABASETYPE は使用するデータベースドライバーです。
  • PREFIX は、データソースを設定するために使用される環境変数の名前に使用される接頭辞です。

起動スクリプトは、イメージの起動時に実行される個別のデータソースを DB_SERVICE_PREFIX_MAPPING 環境変数に定義された各 POOLNAME-DATABASETYPE=PREFIX トリプレットに対して作成します。

データソース設定環境変数の完全リストは、ここに記載されているデータソース設定環境変数のリスト を参照してください。

5.1.4. OpenShift と互換性のある環境変数の JWS

ビルド設定は、Source-to-Image build コマンドに環境変数を含めることで変更できます (「OpenShift の JWS での Maven アーティファクトリーポジトリーミラーの使用」 を参照)。Red Hat JBoss Web Server for OpenShift イメージに有効な環境変数は以下のとおりです。

変数名表示名説明値の例

ARTIFACT_DIR

該当なし

このディレクトリーからの .war.ear、および .jar ファイルが deployments ディレクトリーにコピーされます。

target

APPLICATION_NAME

アプリケーション名

アプリケーションの名前

jws-app

CONTEXT_DIR

コンテキストディレクトリー

ビルドする Git プロジェクト内のパス。root プロジェクトディレクトリーの場合は空です。

tomcat-websocket-chat

GITHUB_WEBHOOK_SECRET

Github Webhook Secret

GitHub トリガーシークレット

[a-zA-Z0-9]{8} からの式

GENERIC_WEBHOOK_SECRET

Generic Webhook Secret

汎用ビルドトリガーシークレット

[a-zA-Z0-9]{8} からの式

HOSTNAME_HTTP

カスタム HTTP ルートのホスト名

http サービスルートのカスタムホスト名。デフォルトホスト名の場合は空白のままにします。

<application-name>-<project>.<default-domain-suffix>

HOSTNAME_HTTPS

カスタム HTTPS ルートのホスト名

https サービスルートのカスタムホスト名。デフォルトホスト名の場合は空白のままにします。

<application-name>-<project>.<default-domain-suffix>

IMAGE_STREAM_NAMESPACE

イメージストリーム名前空間

Red Hat ミドルウェアイメージの ImageStreams がインストールされている名前空間

openshift

JWS_HTTPS_SECRET

シークレット名

証明書ファイルが含まれるシークレットの名前

jws-app-secret

JWS_HTTPS_CERTIFICATE

証明書名

シークレット内の証明書ファイルの名前

server.crt

JWS_HTTPS_CERTIFICATE_KEY

証明書キー名

シークレット内の証明書キーファイルの名前

server.key

JWS_HTTPS_CERTIFICATE_PASSWORD

証明書のパスワード

証明書のパスワード

P5ssw0rd

JWS_ADMIN_USERNAME

Jws 管理ユーザー名

JWS 管理アカウントのユーザー名

ADMIN

JWS_ADMIN_PASSWORD

Jws 管理パスワード

Jws 管理アカウントのパスワード

P5sw0rd

SOURCE_REPOSITORY_URL

Git リポジトリー URL

アプリケーションの Git ソース URI

https://github.com/jboss-openshift/openshift-quickstarts.git

SOURCE_REPOSITORY_REFERENCE

Git リファレンス

Git ブランチ/タグ参照

1.2

IMAGE_STREAM_NAMESPACE

イメージストリーム名前空間

Red Hat ミドルウェアイメージの ImageStreams がインストールされている名前空間

openshift

MAVEN_MIRROR_URL

Maven ミラー URL

設定する Maven ミラー/リポジトリーマネージャーの URL。

http://10.0.0.1:8080/repository/internal/

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.