Red Hat OpenShift is a unified platform to build, modernize, and deploy applications at scale. OpenShift offers a great developer experience in shipping your applications to the cloud.
- Video: Developer Sandbox for Red Hat OpenShift
- Developer Sandbox for Red Hat OpenShift
- The Meteor.js site
Steps to deploy an Meteor.js app on Red Hat OpenShift
The Developer Sandbox for Red Hat OpenShift is a free-to-use OpenShift instance for you to experiment with OpenShift for your use cases. The development of dynamic and responsive web applications has evolved into a fundamental requirement. Node.js and Meteor.js stand out as formidable technologies capable of crafting these applications with finesse. Our workflow involves the creation and deployment of applications directly from GitHub onto an OpenShift sandbox environment.
Follow these steps to start your sandbox instance and deploy your Meteor.js app:
- Create a Developer Sandbox account at https://developers.redhat.com/developer-sandbox.
- Once you have the account and are signed in, on the left side menu, click on +Add.
- Select Import from Git.
- Specify your Git repo URL. For the sake of this tutorial, we will use https://github.com/redhat-developer-demos/meteor.js-openshift-example.git. But you can choose any Meteor.js repo.
- Add a Containerfile to your repo. The Containerfile helps developers to specify the environment needed for running your applications. In case, you do not have a Containerfile on your project, you can add add one to your repo by referring to https://github.com/redhat-developer-demos/meteor.js-openshift-example/blob/main/Containerfile.
- OpenShift will detect the Containerfile from the Git repository. In case the Containerfile is in a subdirectory, you need to provide the path of Containerfile.
Info alert: Note
If the Containerfile/Dockerfile is not detected, click Import Edit Strategy. Select as Dockerfile, define the path as Containerfile.
- Choose a Resource Type field. Choose either Deployment or Serverless Deployment (default option) depending on your preference.
- Select Target Port under Advanced options to define the port 3000 that will receive the container's traffic.
- As this is a resource-consuming container/pod, we should define the resource limit for this. Select the Build configuration, then click on Resource limit and set the CPU to 4 cores and memory 5Gi.
- Click on Create.
- You will now be directed to the Topology view, and the application will commence deployment. Please allow some time for the build & deployment process to complete. While it is in progress, you will have the opportunity to monitor the logs.
- Once it’s done deploying, you can click on the OpenURL arrow icon to see the webpage of your Meteor.js application running on OpenShift.
Add continuous deployment
Continuous deployment is a strategy in software development where code changes to an application are released automatically into the production environment. It speeds up time to market by eliminating the lag between coding and customer value. OpenShift enables developers to configure this using a few simple UI-based steps.
Now, let’s begin adding continuous deployment to the application we just created:
- From the Topology view, select the application.
- Click on the Actions drop-down.
- Select Edit <application name>.
- Check the Add pipeline checkbox. You can see the pipeline visualization if you’d like to understand the steps.
- Click Save.
Trigger the CD pipeline
A pipeline of applications is triggered when an application in the Git repository is updated.
- Create your application and add on the remote Git repository or copy the above repository.
- The source files should be modified, committed, and pushed.
- Log in to the Developer Sandbox.
- Access your application in the Topology View.
- Select Pipeline option from the left menu.
- Check out live build and deploy process.
- You can see your changes being deployed automatically.
In this tutorial, you learned how to deploy a Meteor.js application on Red Hat OpenShift. Red Hat OpenShift has powerful features that make it easy to manage and scale your Meteor.js application in production.
Check out the other articles in this series: