2

In our organization, we are working offline (disconnected from the Internet). Most of the tools we use are installed on a single server which should serve all the users (about 500 concurrent users).

we use all the following operating systems: Linux (all flavors), Windows (2000, XP, 7, 10), VxWorks, Solaris, and some inner house developed systems. We use almost the following development languages: C, C++, C#, Java, JavaScript, python, ruby, visual basic and some older languages as well (we have a lot of legacy code).

considering the fact we have to maintain all these platforms, would you recommend using Jenkins or Gitlab CI as the main CI tool?

what we need is the option to integrate a lot of software (old software!) and since we are currently moving to Gitlab as our source control management system, we still hesitate to change the CI tool. we don't want to use both tools in order to be able to use the scripts/flows from different teams and projects.

what should be our company's main consideration regarding this issue - taking into account this decision might be the infrastructure we will use for the next 5 to 10 years?

If more information is needed, I'd be happy to provide it!

Amit Dar
  • 43
  • 4

2 Answers2

1

I don't think there is a definitive answer to this question, but what you could take into consideration is the adoption rate of Jenkins and the community support, which probably will suit you since you have projects in several programming languages. On the other hand, GitLab CI is more simple to use and much cleaner since you write the pipelines in the YAML format. I for one, have started to like GitLab CI more than Jenkins, but that is just an oppinion.

Vladimir Stanciu
  • 1,468
  • 1
  • 7
  • 24
  • 2
    Forget about "adoption rate of Jenkins and the community support" ... Think about the adoption rate in your own workplace. With such a disparate combination of SW, OS, etc. a centralized build sytem like Jeknins, it could turn into either an implementation or adoption nightmare. Your CI consideration is independent of your source control but sometimes an off the shelf solution is easier to let them manage themselves. Consider on-prem costs - license plus HW costs vs cloud + usage. – Ian W Sep 15 '20 at 03:48
0

I have been using Jenkins since 2013. It proved to be a good reliable tool that requires A LOT of maintenance.

The last implementation that I built is a master running in containers and handling pipelines & UI jobs on multiple agents: containers for linux builds and normal VM hosts for windows and others.

Each team owns the slave and gets it's own space in Jenkins without interfering with others and without being jenkins administrators. This leaves me the time to maintain it and gives them the freedom to experiment and work at different speeds and knowledge levels . Also JCASC might be helpful (I still need to try it) . You can provide each team with docker-compose, vagrant & scripts to install their own agent.

Bamboo, TFS, Gitlab & cruisecontrol greatly limited my delegation possibilities in the past.

TudorIftimie
  • 1,050
  • 11
  • 21