A comprehensive guide on deploying and setting up CI/CD (Continuous Integration & Continuous Delivery) for a Node.js app on Fly.io.
Includes a step-by-step guide, working Dockerfiles, and Fly.io configuration examples.
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 working Dockerfiles examples with context on the types of apps they're typically used for.
(Go to readme)
Step-by-step description of the process, from deciding to deploy an app on Fly.io to having a live deployment, alongside an explanation of setting up CI/CD using GitHub Actions.
Also contains examples of working fly.toml and fly.yml files and explanations of their contents.
(Go to readme)
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