Red Hat OpenShift Express

From Documentation


Red Hat OpenShift Express



Get Your OpenShift Ready

  • Apply a new OpenShift account if you don't have a Red Hat Network (RHN) account.
  • If you prefer to use Eclipse, you can install Eclipse plugin to create OpenShift domain and application without following the prerequisites and steps listed below. Here is the video that demonstrates how you can use Eclipse plugin to do so. If you are doing so, you do not need to follow the next a few steps.
  • Refer to OpenShift User Guide for required client tools.
    1. Prerequisites for Red Hat Enterprise Linux or Fedora:
    2. Prerequisites for Other Linuxes:
      • Root access
      • Ruby 1.8 or higher installed or available to be installed
      • Install the required packages: git, ruby, rubygems, and the ruby 1.8 development package.
    3. Prerequisites for Mac:
      • git
    4. Prerequisites for Windows:
      • Cygwin with the following optional components:
        • openssh
        • ruby
        • make
        • gcc
        • git
      • RubyGems

Create an OpenShift domain name

Run rhc-create-domain command to create an unique domain name for your application.

$ rhc-create-domain -n DomainName -l rhlogin -p password
  • -n DomainName — specifies the domain that you want to create. This must contain a maximum of 16 alphanumeric characters.
  • -l rhlogin — your OpenShift Express or RHN account.
  • -p password — your OpenShift Express or RHN password.

Create a Maven Application

Run rhc-create-app command and OpenShift will create a maven project with default page automatically.

$ rhc-create-app -a AppName -t Type -l rhlogin -p password
  • -a AppName — The name of the application to create (maximum of 32 alphanumeric characters).
  • -t Type — The framework type to create. OpenShift Express currently supports the following application types:
    • php-5.3 — for PHP applications
    • wsgi-3.2 — for Web Server Gateway Interface applications
    • rack-1.1 — for Ruby Webserver Interface applications
    • perl-5.10 — for Perl applications
    • jbossas-7.0 — for JBoss AS applications (used for ZK project)
    • raw-0.1 — a raw cartridge type used to create applications of no specific type
  • -l rhlogin — your OpenShift Express or RHN account.
  • -p password — your OpenShift Express or RHN password.

Once it is done the application is on the cloud, you can visit http://AppName-DomainName.rhcloud.com/ to see the default OpenShift page.

Import into Eclipse IDE (Optional)

If you wish to use Eclipse,

  • Run the following command to support Eclipse.
$ mvn eclipse:eclipse
  • Refer to here to import into Eclipse.

Deploy changes to OpenShift

Once you have created an OpenShift application in your local machine following the steps above, the application is at the same time deployed to the cloud. To update and make changes to your application, you have to make changes in the git directory specified during the application creation process.
There are two options to deploy the changes:

Option 1: Upload contents in a Maven src structure

This option is simple and recommended. Just push the source code with "git push" command.

$ cd AppName
$ git add .
$ git commit -a -m "Commit Message"
$ git push origin master

Then OpenShift will build your project on cloud. Once it's done you can visit http://AppName-DomainName.rhcloud.com/ to see your application.

Option 2: Upload prebuilt contents

If you do not wish OpenShift to build your project automatically, you have to remove pom.xml file and all the source code.

$ cd AppName
$ git rm -r src/ pom.xml

Then, copy the pre-built war file into deployments folder and rename it to ROOT.war[1]

$ cp target/prebuilt.war deployments/ROOT.war
$ git add .
$ git commit -a -m "Commit Message"
$ git push origin master

Once it's done you can visit http://appName-domainName.rhcloud.com/ to see the result


  1. By default the warName is ROOT within the pom.xml file. This will render the webapp contents at http://app_name-namespace.rhcloud.com.
    If you change the warName in pom.xml to "app_name" or if the warName in deployments folder is "app_name.war", then your base URL would become http://app_name-namespace.rhcloud.com/app_name.

Sample



Last Update : 2015/03/25

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.