Summary
We have finally made it to the end of structuring a web application in Rust and building the infrastructure around the application to make ongoing development of new features safe and easy to integrate. We have structured our repository into one that’s clean and easy to use where directories have individual purposes. Like in well-structured code, our well-structured repository can enable us to slot tests and scripts in and out of the repository easily. Then, we used pure bash to manage migrations for our database without any code dependencies so that we can use our migrations on any application, regardless of the language being used. Then, we built init containers to automate database migrations, which will work even when deployed on a server or cluster. We also refined the Docker builds for our server, making them more secure and reducing the size from 1.5 GB to 45 MB. After, we integrated our builds and tests into an automated pipeline that is fired when new code is...