Red Hat OpenShift Express"

From Documentation
Line 59: Line 59:
 
= Deploy changes to OpenShift =
 
= Deploy changes to OpenShift =
 
To deploy an application to the cloud, you must make changes in the git directory location specified during the application creation process.<br/>
 
To deploy an application to the cloud, you must make changes in the git directory location specified during the application creation process.<br/>
There are two options to deploy changes. You can use either option to deploy your application.
+
There are two options to deploy the changes. You can use either option to deploy your application.
  
== Option 1: Uploading content in a Maven src structure ==
+
== Option 1: Upload contents in a Maven src structure ==
 
This option is simple and recommended. Just push the source code with "git push" command.
 
This option is simple and recommended. Just push the source code with "git push" command.
 
<source lang="bash">
 
<source lang="bash">
Line 70: Line 70:
 
</source>
 
</source>
 
Then OpenShift will build your project on cloud.
 
Then OpenShift will build your project on cloud.
Visit http://AppName-DomainName.rhcloud.com/ to see your application.
+
Once it's done you can visit http://AppName-DomainName.rhcloud.com/ to see your application.
  
== Option 2: Uploading prebuilt content ==
+
== Option 2: Upload prebuilt contents ==
To avoid OpenShift build your project automatically, you have to remove pom.xml file.
+
If you do not wish OpenShift to build your project automatically, you have to remove pom.xml file.
 
<source lang="bash">
 
<source lang="bash">
 
$ cd AppName
 
$ cd AppName
 
$ git rm -r pom.xml
 
$ git rm -r pom.xml
 
</source>
 
</source>
Then copy the prebuilt war file into '''deployments''' folder and rename to ROOT.war<ref>By default the warName is ROOT within the pom.xml file. This will render the webapp contents at http://app_name-namespace.rhcloud.com.<br/>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.</ref>
+
Then copy the prebuilt war file into '''deployments''' folder and rename it to ROOT.war<ref>By default the warName is ROOT within the pom.xml file. This will render the webapp contents at http://app_name-namespace.rhcloud.com.<br/>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.</ref>
 
<source lang="bash">
 
<source lang="bash">
 
$ cp target/prebuilt.war deployments/ROOT.war
 
$ cp target/prebuilt.war deployments/ROOT.war
Line 85: Line 85:
 
$ git push origin master
 
$ git push origin master
 
</source>
 
</source>
Visit http://appName-domainName.rhcloud.com/ to see the result
+
Once it's done you can visit http://appName-domainName.rhcloud.com/ to see the result
  
 
----
 
----

Revision as of 10:36, 30 December 2011


Red Hat OpenShift Express



Get Your OpenShift Ready

  • Apply a new OpenShift account if you don't have a Red Hat Network (RHN) account.
  • 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.

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

To deploy an application to the cloud, you must make changes in the git directory location specified during the application creation process.
There are two options to deploy the changes. You can use either option to deploy your application.

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.

$ cd AppName
$ git rm -r pom.xml

Then copy the prebuilt 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.



Last Update : 2011/12/30

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