Week 12 - Container Based Deployment
Last week I deployed my application and made some big steps towards a production app. First, I changed out my SQLite database for Postgresql after learning that it would be more of a headache to keep pushing off that step. It actually was not too bad and made my container implementation simpler since I no longer had to keep track of a file (the sqlite db) in between container instances.
I formed and implemented a Deployment strategy where my CI/CD pipeline builds and runs tests in a docker container for my app, once complete it moves a copy of the prebuilt container in to GitHub Registry. I used Render.com to deploy my API, which retrieves the prebuilt container from GitHub Registry and deploys it. Beforehand, I made a Postgresql database on render.com as well. There was some troubleshooting involved parsing the connection string from Render’s database and making it working for the .Net postgresql package to handle. I also had some issues running tests without the appsettings file in my container (private) and I used conditionals to provide a dummy settings for testing purposes.
I deployed my front end app using Vercel with Vite and it was extremely simple and easy. I was genuinely surprised. I had some trouble trying to set the url for my api correctly, in the end I had to dig through the settings in vercel and clear the buld cache for to use my corrected path.
Here are some resources I used for these steps. I moved very quickly on this and could not have done that with out help from Claude AI.
Deploy on Render with a Container Registry
This week the focus is on the final report and any final touches on the project including documentation.
The main impediment is that I still have many things to do and work on and I literally have just a few hours left.
Reflection: Deployment is hard. There are always loose ends to figure out. And it is so satisfying when it finally works on a public domain!
You can view my app here: video-project-suite.vercel.app and since I am using a free tier for Render.com it takes about a minute for the API to start up and respond.