If you have ever used Heroku to deploy an application, you'll
In those days when we Heroku still offered free dynos without exception, deploying applications was a breeze. Well, after you have figured the issue making your app show this:
Heroku allowed a Git-based deployment and only needed a Procfile in your project directory with the right command to deploy your application. Even if you could do continuous deployment when you connect to a Github repository, you'll never encounter Github Actions.
Github Actions can actually help you deploy to a platform like Heroku, or Render, or Vercel, or Azure App Service. It goes beyond this and extends to powering continuous deployment to virtual machines, serverless functions, Kubernetes services, etc. The central idea is that a workflow runs when an event occurs on your Github repository. You can see a demo of such behavior in this Github repository. If you carry out any action such as opening a new issue, making a pull request, or forking the repo, a Github action will run and send a webhook notification to the General Channel of this Discord server.
It's common these days to deploy applications on using platforms where you simply set your GitHub repo and environment variables and you're set. But what if you're ever required to deploy a Node.js application on a virtual machine? Maybe cost is a factor and you're required to deploy multiple applications and services in one machine. Maybe the applications are not used often but must be running. There are many other reasons why you'd want to deploy your application on a virtual machine.