6.3. Web フレームワークアプリケーションの移行
6.3.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
以下のトピックでは、Python、Ruby、PHP、Perl、Node.js、WordPress、Ghost、JBoss EAP、JBoss WS (Tomcat) および Wildfly 10 (JBoss AS) の Web フレームワークアプリケーションを OpenShift version 2 (v2) から OpenShift version 3 (v3) に移行する方法を確認します。
6.3.2. Python リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル v2 Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>.git
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>.git
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow setup.py、wsgi.py、requirements.txt および etc などの重要なファイルがすべて新規リポジトリーにプッシュされていることを確認します。
- アプリケーションに必要なパッケージがすべて requirements.txt に含まれていることを確認します。
oc
コマンドを使用して、ビルダーイメージとソースコードから新規の Python アプリケーションを起動します。oc new-app --strategy=source
$ oc new-app --strategy=source python:3.3~https://github.com/<github-id>/<repo-name> --name=<app-name> -e <ENV_VAR_NAME>=<env_var_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サポート対象の Python バージョン
サポート対象のコンテナーイメージについて参照してください。
6.3.3. Ruby リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル v2 Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>.git
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>.git
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Gemfile がなく、単純な rack アプリケーションを実行している場合には、この Gemfile ファイルをソースの root にコピーします。
https://github.com/sclorg/ruby-ex/blob/master/Gemfile
https://github.com/sclorg/ruby-ex/blob/master/Gemfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Ruby 2.0 がサポートする rack gem の最新バージョンは 1.6.4 であるため、Gemfile は
gem 'rack', “1.6.4”
に変更する必要があります。Ruby 2.2 以降の場合は、rack gem 2.0 以降を使用してください。
oc
コマンドを使用して、ビルダーイメージとソースコードから新規の Ruby アプリケーションを起動します。oc new-app --strategy=source
$ oc new-app --strategy=source ruby:2.0~https://github.com/<github-id>/<repo-name>.git
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サポート対象の Ruby バージョン
サポート対象のコンテナーイメージについて参照してください。
6.3.4. PHP リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル v2 Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
コマンドを使用して、ビルダーイメージとソースコードから新規の PHP アプリケーションを起動します。oc new-app https://github.com/<github-id>/<repo-name>.git
$ oc new-app https://github.com/<github-id>/<repo-name>.git --name=<app-name> -e <ENV_VAR_NAME>=<env_var_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サポート対象の PHP バージョン
サポート対象のコンテナーイメージについて参照してください。
6.3.5. Perl リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル v2 Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの Git リポジトリーを編集して、変更をアップストリームにプッシュして、v3 との互換性を確保します。
v2 では、CPAN モジュールは .openshift/cpan.txt にあります。v3 では、s2i ビルダーは、ソースのルートディレクトリーで cpanfile という名前のファイルを検索します。
cd <local-git-repository> mv .openshift/cpan.txt cpanfile
$ cd <local-git-repository> $ mv .openshift/cpan.txt cpanfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cpanfile の形式が若干異なるので、これを編集します。
Expand cpanfile の形式 cpan.txt の形式 requires ‘cpan::mod’;
cpan::mod
requires ‘Dancer’;
Dancer
requires ‘YAML’;
YAML
.openshift ディレクトリーを削除します。
注記v3 では、action_hooks および cron タスクは同じようにサポートされません。詳細情報は、「アクションフック」を参照してください。
-
oc
コマンドを使用して、ビルダーイメージとソースコードから新規の Perl アプリケーションを起動します。
oc new-app https://github.com/<github-id>/<repo-name>.git
$ oc new-app https://github.com/<github-id>/<repo-name>.git
サポート対象の Perl バージョン
サポート対象のコンテナーイメージについて参照してください。
6.3.6. Node.js リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの Git リポジトリーを編集して、変更をアップストリームにプッシュして、v3 との互換性を確保します。
.openshift ディレクトリーを削除します。
注記v3 では、action_hooks および cron タスクは同じようにサポートされません。詳細情報は、「アクションフック」を参照してください。
server.js を編集します。
- L116 server.js: 'self.app = express();'
- L25 server.js: self.ipaddress = '0.0.0.0';
L26 server.js: self.port = 8080;
注記Lines(L) は V2 カートリッジの server.js から取得されます。
oc
コマンドを使用して、ビルダーイメージとソースコードから新規の Node.js アプリケーションを起動します。oc new-app https://github.com/<github-id>/<repo-name>.git
$ oc new-app https://github.com/<github-id>/<repo-name>.git --name=<app-name> -e <ENV_VAR_NAME>=<env_var_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サポート対象の Node.js バージョン
サポート対象のコンテナーイメージについて参照してください。
OpenShift Online v3 では、バージョン 0.10 は非推奨となり、使用できなくなりました。
6.3.7. WordPress リンクのコピーリンクがクリップボードにコピーされました!
現時点で WordPress アプリケーションの移行はコミュニティーによるサポートのみで、Red hat のサポートはありません。
WordPress アプリケーションの OpenShift Online v3 への移行に関する情報は、「OpenShift ブログ」を参照してください。
6.3.8. Ghost リンクのコピーリンクがクリップボードにコピーされました!
現時点で Ghost アプリケーションの移行はコミュニティーによるサポートのみで、Red hat のサポートはありません。
Ghost アプリケーションの OpenShift Online v3 への移行に関する情報は、「OpenShift ブログ」を参照してください。
6.3.9. JBoss EAP リンクのコピーリンクがクリップボードにコピーされました!
現時点で、JBoss EAP は OpenShift Online Starter では使用できません。これは OpenShift Online Pro でのみ利用できます。
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - リポジトリーに事前にビルドされた .war ファイルが含まれている場合には、それらをリポジトリーの root ディレクトリー内の deployments ディレクトリーに置く必要があります。
JBoss EAP 7 ビルダーイメージ (jboss-eap70-openshift) と GitHub からのソースコードリポジトリーを使用して新規アプリケーションを作成します。
oc new-app --strategy=source jboss-eap70-openshift:1.6~https://github.com/<github-id>/<repo-name>.git
$ oc new-app --strategy=source jboss-eap70-openshift:1.6~https://github.com/<github-id>/<repo-name>.git
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.10. JBoss WS (Tomcat) リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - リポジトリーに事前にビルドされた .war ファイルが含まれている場合には、それらをリポジトリーの root ディレクトリー内の deployments ディレクトリーに置く必要があります。
JBoss Web Server 3 (Tomcat 7) ビルダーイメージ (jboss-webserver30-tomcat7) と GitHub からのソースコードリポジトリーを使用して新規アプリケーションを作成します。
oc new-app --strategy=source
$ oc new-app --strategy=source jboss-webserver30-tomcat7-openshift~https://github.com/<github-id>/<repo-name>.git --name=<app-name> -e <ENV_VAR_NAME>=<env_var_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.11. JBoss AS (Wildfly 10) リンクのコピーリンクがクリップボードにコピーされました!
新しい GitHub リポジトリーを設定して、そのリポジトリーをリモートのブランチとして現在のローカル Git リポジトリーに追加します。
git remote add <remote-name> https://github.com/<github-id>/<repo-name>
$ git remote add <remote-name> https://github.com/<github-id>/<repo-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの v2 ソースコードを新規リポジトリーにプッシュします。
git push -u <remote-name> master
$ git push -u <remote-name> master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルの Git リポジトリーを編集して、変更をアップストリームにプッシュして v3 との互換性を確保します。
.openshift ディレクトリーを削除します。
注記v3 では、action_hooks および cron タスクは同じようにサポートされません。詳細情報は、「アクションフック」を参照してください。
- deployments ディレクトリーをソースリポジトリーの root に追加します。.war ファイルをこの「deployments」ディレクトリーに移動します。
oc
コマンドを使用して、ビルダーイメージとソースコードから新規の Wildfly アプリケーションを起動します。oc new-app https://github.com/<github-id>/<repo-name>.git
$ oc new-app https://github.com/<github-id>/<repo-name>.git --image-stream=”openshift/wildfly:10.0" --name=<app-name> -e <ENV_VAR_NAME>=<env_var_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記引数
--name
はアプリケーション名を指定するためのオプションの引数です。また、-e
はOPENSHIFT_PYTHON_DIR
などのビルドやデプロイメントプロセスに必要な環境変数を追加するためのオプションの引数です。
6.3.12. サポート対象の JBoss バージョン リンクのコピーリンクがクリップボードにコピーされました!
サポート対象のコンテナーイメージについて参照してください。