[Development] Dev needs to be optimised
#7
(05-08-2021, 04:37 AM)h3x Wrote: Development staff should have access to a CL/CD pipeline to test their code before it's deployed to the prod server. (Reduces bugs for the users). I believe this exists in some form due to the Beta server, however the pipeline from IDE to server could be improved. See 4.

I have worked on improving the development quality and workflow for a while now, and I generally gave up most of the ideas. Mostly due to limitations caused by the age of the gamemode and the directory setup of gmod and source.

We were able to speedup development by introducing local development and defer from remote development, but even this step caused issues with RDM protected addons and content. Docker was also impossible to use due to filesystem speed problems when working on windows or mac. Let alone the issues with syncing binaries and lua files outside of the gamemode directory when trying to offer a one-click setup. We've got it mostly working, but I bet it's the best we can get. And I say this as git certified DevOps developer.

We have finally setup a correct git flow for development, having a ticketing system (with forum semi-sync) for administration and multiple channels for staging. But even this puts strain on the development team as not everyone agrees with the importance for an old gamemode, and I can understand that. We have setup a review system to enhance the quality of the code that's ending up on the production server. But due to apparent inactivity of other developers, this system did not work as intended and was quickly discarded.

Having a CI/CD pipeline for the current gamemode is useless as of now. The gamemode has been written in many different coding standards making linters useless. Testcases are hard to write for a gamemode this old with tons of features. Let alone the fact that there are no OOB testing frameworks available for gmod with proper bot support to test on multiplayer functionality.

(05-08-2021, 04:37 AM)h3x Wrote: The server application panel(pterodactyl)/Docker containers/SFTP needs to be accessible to all developers. If a community member is trusted with the application code that runs FL, why are they not trusted with access to the servers? This creates arguments and disgruntlements. Someone hired to write application code for you should be able to understand the backend systems. Otherwise, this creates bugs.

I strongly disagree.

Server management is a totally different branch, and does not belong to development. It's a separate set of skills and knowledge not every developer possesses. In order to serve a server to the public, you need to know the ins and outs of Linux and its security hazards. Which requires a decent amount of experience working with it. A developer should only have to worry about the code, DevOps developers handles the server setup and access to the public. Which is how it should be managed, and how it is managed now.

(05-08-2021, 12:18 PM)Conn Wrote: whom both happen to be inactive a lot of the time.

S'cuse me, I am available 24 hours a day. And mostly respond within a 30min-2h timeframe.
The following 2 users Like De CodeerHeer's post:
  • Slaint, max.


Messages In This Thread
RE: [Development] Dev needs to be optimised - by De CodeerHeer - 05-12-2021, 09:14 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)