The importance of a developer community – written on 6th of May 2021
I spent this week trying to deploy a Laravel 8 API to Google Cloud App Engine. The experience has been mentally draining.
First of all, the documentation does not support the current Laravel version and Stackoverflow was filled with people who submitted errors from their applications just after following the documentation!
I reached out to some of my dev contacts on WhatsApp asking if they knew a DevOps engineer that could help me resolve the deployment issue and I was linked to one. I am always grateful to devs who take out time to help me and this engineer spent an hour and thirty minutes helping me via Google meet very late at night. The meeting ended by 11:00 pm. Ejiro God bless you oh!
We couldn’t finish debugging the issue and planned to meet again the next day. The next day, I pulled my code and all hell broke loose. It wasn’t working. I felt weak. This wasn’t how my day was supposed to go nau. I messaged one of my dearest developer friends.
Little did I know that I was about to be introduced to more premium weray content on this project. I resolved it that day. The issue? Some commands to set up the project were undocumented in the README file. I resolved it by adding them to the composer.json so that they were automatically called when you run install composer.
I also had a better understanding of ‘symbolic links’ in Laravel.
NOTE:: There is no such thing as ‘too much documentation’
On and on and on the errors kept pilling on. I used the same PHP and Laravel version as the project and the errors kept on making an appearance. I was tired. I submitted three questions on StackOverflow and received a reply to one. That was a highlight in a dreary week. There were suggested fixes on GitHub issues that were not added to the documentation. I also posted my question on the ‘Laravel Nigeria’ slack channel. A dev reached out and offered solutions.
Subsequently, I started looking for other solutions. I found Google Cloud Run. It used Docker and I was looking forward to trying it. I have always wanted to learn Docker. And so I downloaded Docker – it has the prettiest UI I have ever seen on a desktop application. There was a YouTube video showing how to set up Laravel on Google Cloud Run and I followed it. Setting up Docker was straightforward and I built a container.
The future was looking bright.
I opened postman to test my beloved app and dear Lord was my heart pleased. It worked. It generated the pdf and uploaded it to Google Cloud Storage. I was so happy. And then I opened the link to the uploaded file and I saw a blank document. Yes, yes, I am not ashamed to say that I refreshed the page. I debugged the project as much as I could. I ran it locally and the pdf generated the file successfully but docker generated a blank document. I was tayad.
I plan to deploy on another platform. One fact that was echoed by the DevOps engineer and my dear developer friend was that I was facing these issues because there was no Laravel developer community for the Google Cloud Platform. In resolving this, I am grateful to Fred for helping me debug issues and listening to me rant, to Dami for linking me to Ejiro and to Dapo for offering solutions and giving me time to resolve issues. He also had kind words of encouragement.
Google Cloud may not have a strong Laravel developer community, but I have one in my corner.