A comprehensive guide on deploying and setting up CI/CD (Continuous Integration & Continuous Delivery) for a Node JS app on Fly.io.
Description: includes a step by step guide, along with Dockerfile and Fly.io configuration example files.
Note
While these files were written and are used specifically for Node JS apps and for deploying specifically on fly.io, they can serve as an example or template for other types of apps and hosting services too.
Contains examples of working Dockerfiles
and some context on what type of apps they're used by.
Step by step description of the process from deciding to deploy an app on Fly.io and to having a deployed app, alongside an explanation on setting up CI/CD using Github actions.
Also contains examples of working fly.toml
and fly.yml
files and explanations of their contents.
Here's a visual representation of how a structure using these file examples would look in an actual Node JS app:
app/
├── .github/
│ └── workflows/
│ └── fly.yml
├── node_modules/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── fly.toml
├── index.js
├── package-lock.json
├── package.json