Originally Posted by Mitchell
Well, I'm working in a larger company. If you develop programs, CI is one of the biggest and most important things, if you want to make high quality and reliable code.
And since we as a community developed a lot of own software, systems and plugins, CI is very helpful. It can protect you and even makes it a lot easier to deploy your build versions automatically to the servers. Or just compile it.
For sourcemod this isn't that effective, because there is currently no official support for automated testing. There is a project (PawnUnit
), but i'm not sure if it is still up to date. I will check it out.
My plan is to create a complete docker environment, which can bootstrap a game-server and maybe even some clients (need to check if this can be done, there may some legal restrictions due license terms of the games) to run tests against a plugin. In this way you can ensure the changes you did to a plugin won't break any other functionality.
Another benefit, if you working on a plugin together with more people, someone may commit broken code. This way he will get a notification that he did so and needs to fix the code.
(Keep in mind that you should never commit broken code ...
Originally Posted by ReymonARG
You just need to unzip de plugins folders not all. Also, you dont need git
Im decompressing the whole folder to give the user the ability to add custom operations, that may require some of the other files.
Ugh, git isn't required by the GitLab runner to pull the data from VCS? I will check this, it may could be that the data is pushed trough the docker interface.
Originally Posted by ImACow
CI with GitLab is very usefull.
I use it to deploy code to servers.
Just commit, and the servers will pull the SMX'es whenever they are empty.
So thanks for this!
We plan to release many of our plugins and OOS them. So a CI is one of the first projects that are essential for providing a stable and nice codebase. A codebase where anyone can contribute using modern technology that should be standard for every software project, no matter what size (talking about CI).
Thanks for the feedback so far!