View Single Post
RAYs3T
Junior Member
Join Date: May 2014
Location: Germany, Hamburg
Old 10-11-2017 , 14:25   Re: Docker Image for Continuous integration (CI) with GitLab Runner
Reply With Quote #5

Quote:
Originally Posted by Mitchell View Post
but why
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 ... )


Quote:
Originally Posted by ReymonARG View Post
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.


Quote:
Originally Posted by ImACow View Post
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!
__________________
Never trust the client.

Last edited by RAYs3T; 10-11-2017 at 14:32.
RAYs3T is offline