Qovery: superpowers for developer - multiple environments



Requirements
- Qovery CLI
- Your code hosted on Github
Deploying application
Qovery is fully integrated into Github. Basically, you just need to have a .qovery.yml and a Dockerfile at the root of your project. Once it is done, commit and push your code. You're done!
1. Generate the .qovery.yml file
2. Add your Dockerfile to the root folder of your project (here is a Dockerfile for my NodeJS project)
3. Commit and push your code
Congratulations, you have deployed your application.

Update application
You just have modified your app, and you want to deploy it? Well, it's straightforward. Just commit, push, and that's it!
Application rollback
Oh! Do you miss something and do you need to roll back to a previous version of your application? No worries, it's as simple as one command
Staging branch
Sometimes you want to validate your code in a staging environment before putting it in production. That's why we created the concept of "Environment". Which is having isolated applications and services (databases, brokers, storage) for each branch. There is no risk to impact the production if something bad happens.

Having a staging environment is as easy as creating a new branch with the name "staging"
That's it!
And obviously, you can track the status of your deployment in real-time
Feature branch
Same as for the staging branch above, every branch you create is an isolated environment by default. So create your branch, and push your changes; a new isolated environment is live in a couple of seconds.

Database natively supported
Do you need a database? We support the most popular SQL (PostgreSQL, MySQL) and NoSQL (MongoDB, Elasticsearch, Redis, Memcached, Cassandra) databases. Thanks to AWS managed services for the reliability and the performance.
Supporting a database is as simple as updating the .qovery.yml
To deploy the PostgreSQL database you need to commit and push the .qovery.yml

What is going on if I create a new branch with a database?
The database and all its data are cloned as well.
Note: If you don't want to clone the data, it is as well possible.

Multiple applications and databases in one project
Let's imagine that you need to have a backend API and a frontend website that work together. These 2 apps belong to the same project. Meaning they need to communicate with each other within the same environment. This is natively possible with Qovery.

For instance:
Repository A is a backend API made with NodeJS -> connected to a PostgreSQL database and Redis key/value store
Repository B is a frontend made in React -> connected to the backend API
Project A .qovery.yml file
Project B .qovery.yml file
You can note that they have the same “project” name. This is the parameter to make them belong to the same project.
On the other side, routers have different properties to route the traffic according to their application correctly.
Conclusion
Qovery is the swiss army knife of all developers who want to deploy their application while staying focused on their code. No need to learn how to use AWS to deploy on it. Our goal is to provide the best developer experience ever.

Suggested articles
.webp)













