3

For school I need to do research about the possibilities for CI/CD for a web-based game. I would like to automate the testing (and deployment) after a push to the GitHub repository. Currently I’m working alone on the project. I have already done some research to know what options are available for CI/CD, mainly focusing on services with a free payment plan.

The project I currently have is a simple rock, paper, scissor style game using a .Net Core backend with a MSSQL database. In the future I would like to enable real time service to allow player vs. player. In the frontend I’m using ReactJS. I’m currently making the game with just JavaScript. For testing I have unit, integration and E2E tests.

My current option I’m looking at is Buddy because it has performance testing (such as lighthouse) and it should be easy to setup. But I’m not sure if it’s the correct choice. I’ve also looked at other tools like GitLab and Azure pipelines. Tools like Jenkins seem more effort to setup, but should offer more possibilities.

Are there any benefits setting up Jenkins instead of tools like GitLab or Buddy for my project?

3
  • Welcome. Good question (+1). I don't develop web based games, so can't answer, sorry. This site is definitely the place to ask this question. But, for some future questions, you might want to be aware of our sister-site, Games development – Mawg says reinstate Monica Jan 16 at 11:11
  • Is the main focus of your question on what CI/CD tools are available for GitHub repositories, or on the benefits of Jenkins? – Shane Bishop Jan 16 at 19:35
  • @ShaneBishop I'm mainly asking if setting up an own server with Jenkins would be worth the extra effort (like offering extra functionality that GitLab and Buddy do not offer) instead of using a service like Buddy or GitLab that does not require me to maintain a server. Keeping in consideration the application I'm building. – Kdavid01 Jan 16 at 23:26
1

Some CI/CD tools that are compatible with GitHub:

An advantage circleci, Travis CI, and Azure Pipelines have over Jenkins are that you don't need to maintain your own build servers and hardware. These three CI/CD tools will just run your CI/CD pipelines on their own build servers, which makes things much easier.

Jenkins, on the other hand, is FOSS and doesn't cost a penny. Then the cost comes from purchasing and maintaining your own build servers. The other three tools may or may not be free to use, depending on whether you are using them for commercial or non-commercial use.

Also, in my experience Jenkins has more complex configuration and upkeep required than the other three tools. You need to manually update your Jenkins version and Jenkins plugins, whereas the other three tools will always be up-to-date.

I have not worked with Buddy myself, so I cannot make comments on it. The Buddy website has its own comparison page comparing it to Jenkins.

2
  • So if I would pick Jenkins it would cost more time and resources to maintain, but offers more complex configuration possibilities. Since I'm working alone would it be worth the cost and effort for my application? Or would a service like Travis CI or Azure Pipelines be more fitting? Or if you have to choose a CI/CD tool is it more about what you're willing to spend/are familiar with, as long as the tool does what you require for the project? – Kdavid01 Jan 16 at 23:55
  • 1
    I believe Buddy, Travis CI, or Azure Pipelines would be more fitting. All CI/CD tools should either directly provide the tools you need to run your CI/CD, or should provide a way to install the tools you need. Maintaining your own build server is a big hassle, at least in my personal experience. My personal opinion from my experience would be to not choose Jenkins. – Shane Bishop Jan 17 at 0:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.