The OpenShift Team is happy to announce that a new version of OpenShift Online is now available! As always, to make sure you're able to take full advantage of any new features, please be sure to update to the latest version of rhc tools. This month's release introduces some great features like zero downtime deployment for scalable apps, the ability to easily rollback your app to a previous deployment, and a better looking and easier to use console.
New deployment workflow
Working in a PaaS means having to pay special attention to what happens during code delivery. In OpenShift, we pay special attention to the deployment phase of all of this. As of this release, we have a full suite of new options for deployment. Users with a scalable application will be using a new zero downtime deployment mechanism that does smart things behind the scenes to take gears offline in a rolling fashion.
Configure your app for manual deployment, specify the number of deployments to keep:
rhc configure-app <app> --no-auto-deploy --keep-deployments 5
After that git pushes will no longer deploy automatically and you will have to use 'rhc deploy'.
Deploy from a git reference (SHA, tag, branch):
rhc deploy <master|other git ref> -a <app>
rhc deployments <app>
Deployments from binary files are also formally supported. To do it, simply:
Configure your application for deployment from a binary file:
rhc configure-app <app> --deployment-type binary
Save a binary (tar.gz) snapshot of the deployment currently active:
rhc save-snapshot <app> --deployment
Deploy from binary file:
rhc deploy </path/to/app.tar.gz> -a <app>
Or a binary from a URL:
rhc deploy <http://foo.com/path/to/app.tar.gz> -a <app>
Users have been asking for a formal rollback mechanism for some time as well, we now have it.
List deployments and take note of the deployment id you want to rollback to:
rhc deployments <app>
Rollback to that previous deployment (activate):
rhc activate-deployment <deployment_id> -a <app>
More info about deployments:
rhc deploy --help
rhc deployment --help
Please note that in order to make full use of this new development workflow, you will need to update your rhc tools to the latest version. For most people this is:
gem update rhc
For those wanting an enhanced developer workflow, see Deployments and Rollback on OpenShift which takes deeper look at this process.
Much research and work has been done around performance over the last month (and continues this month). As more users start running production level loads on OpenShift, we've needed to adjust some of our tuning parameters on the nodes and inside the gears. To help with this effort, our cartridges now do a much better job detecting what size gear they are on and adjust their settings to those gears. Some of our cartridges already had this (jboss for example) but now all of our cartridges do, including database gears.
New console theme and app gear heterogeneity
We've been doing some work to allow for different size gears in the same app. For example, using a medium sized database with small app server gears. This work is now done and available in the API, however, users won't be able to access it via the console nor CLI tools until a future release.
If you haven't had a chance to see the new console theme, log in to your dashboard and take a look. We think you'll like what you see. Just browse to https://openshift.redhat.com/app/console/applications and start using it. Silver users now also have access to three domains. Previously, this had been limited to one but now you can have three. That's two more domains! This is important for customers who have multiple users working on several different projects.
READ THIS if You're a Jenkins User
The changes to our new deployment workflow has caused us to make changes in Jenkins as well. This is an optional but highly recommended step. Please re-add the Jenkins jobs if you are using them. To do this, just log in to Jenkins and remove the job. Then remove the jenkins-client cartridge from your application. Next, re-add the client and you're good to go! As always, let us know what you think! If you have any questions or comments, we want to hear them. Email email@example.com.