Zero to Production In Rust
This repository is a following of the book Zero to Production In Rust.
Deviations from The Book
The Zero to Production book gives a great introduction to continuous integration pipelines. However, it does not touch base on continuous deployment. As a DevOps practitioner, I have decided to add this to my project.
What I'll use:
- Terraform as my choice of IaC software.
- Google Cloud to host the project as a serverless-function.
- Codecov for code coverage.
Branching Model
This project will follow the GitFlow branching model.
Why? This allows the project to leverage git's branching capabilities to our advantage in terms of Devops. For example, in order to deploy to the SIT environment, we simply complete a pull request to the develop
branch. To deploy to production, create a new branch following the schema: release/*
and the CI/CD pipeline will take care of the rest for you.
What's Left To Do
- Implement the GitFlow branching model.
- Complete the book!
- Create IaC for a production environment
- Test that everything works as intended!
- Create a more robust pipeline
- Templates
- Comment on PRs that contain errors (example)