Welcome to The Forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads

info Introducing Hsab (Hellsgamers Sourcemod Auto Build)


Thomasjosif
 Share

Recommended Posts

Hello, everyone! Today I'm introducing the second generation of HeLLsGamers Sourcemod Development!

 

In HG we have always had a workflow something like this:

 

Developers Design / Edit Plugins

↓

They self-compile them (vulnerable to backdoors etc.)

↓

They test it on the debug server by uploading via FTP (This process takes 2 minutes)

↓

They fix any changes and re-compile

↓

They push to live by uploading via FTP (This process takes 2 minutes)

↓

Then they push to GitLab (They might skip this step, and that's where lost code starts)

↓

They're done and the process restarts.

 

The new workflow looks like this:

 

Developers Design / Edit Plugins

↓

They self-compile them (to check for errors ONLY)

↓

They push their code to the debug branch of GitLab, and the server pulls it, compiles it, and reloads the plugin on the debug server. (This process takes 7 seconds)

↓

They fix any issues and push the final changes.

↓

They create a merge request from debug to live.

↓

The Team Leader or a Director of HGDC approves the request, and the server pulls it, compiles it, and reloads the plugin on the live server. (This process takes 7 seconds)

↓

They're done and the process restarts.

 

What does this mean? This means that we no longer have any chance of code getting "lost" or any malicious backdoors being implemented in the compiled plugins. This also means pushing changes got easier, and more efficient. We use GitLab CI (Continuous Integration) to compile the plugin and replace the old version on the server seamlessly. It also has an auto-reload feature that isn't that seamless. You've probably seen me use it on the live server a couple of times.

79aa7bb5f6d9dfb441f289c09b7bde4e.png

It fetches the plugins, reloads them, and then has to restart the game (reload round) 2-3 times. This is because jailbreak is causing round end issues. However, if the reload does not include jailbreak changes, you'll only see the message and no big restarts.

 

Thanks,

 

Thomasjosif

 

P.S. Thanks to Kigen for helping me with issues I had with GitLab, you really are the best :)

  • Like 8
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share