1 min readNov 27, 2021
So this will depend on how your Infurstatcure is designed.
- if you’re deploying your nodejs app directly from a web server, you should be using nodejs runtime like pm2 or forever to run your app. Depending on what build tool you’re using (Jenkins, Bamboo, TravisCI, Github Actions, etc) — Then in the case of GitHub Actions, you can add your server as a “runner” on GitHub action and set up your Github action Jobs to define your ci/cd steps which will run directly from your server. check this how to setup ci/cd.
- if you want to run your Nodejs using docker, I’ll recommend setting up a Kubernetes cluster on your server, build and push your Docker images to whichever docker registry works for u, and set up a Kubernetes deployment to run your app docker image. then set up your GitHub actions to deploy Kubernetes deployment on your server runner in ci/cd fashion — check out How to Deploy to Kubernetes & Heroku using Docker
- if you’re deploying your app on the cloud, check out — Deploying to Google Cloud Platform using Docker, Kubernetes, Terraform, and GitHub Actions