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.
JavaScript is the most popular programming language in the world and is used by millions of developers around the world. While it’s one programming language, there are many popular frameworks within JavaScript that need different approaches.
In this series of articles, we are providing step-by-step guides to help you get up and running with JavaScript applications on OpenShift. For this tutorial, we expect you to have some familiarity with Next.js and Red Hat OpenShift. If you need a quick recap, check out these resources:
Steps to deploy a Next.js application 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 Next.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 Next.js app:
- Create a Red Hat Sandbox account using 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/next.js-openshift-example.git. But you can choose any Next.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/next.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, thendefine the path as Containerfile.
- Choose a Resource Type field, please 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.
- Click 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 icon to see the webpage of your Next.js application running on OpenShift.
Add continuous deployment
Continuous deployment (CD) 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 the live build and deploy process.
- You can see your changes being deployed automatically.
Conclusion
In this tutorial, you learned how to deploy a Next.js application on Red Hat OpenShift. Red Hat OpenShift has powerful features that make it easy to manage and scale your Next.js application in production.
Check out the other articles in this series: