Gitlab is winning the war
As a scientific software developer, i don’t dance in the web arena. I am one of those people screaming “Desktop applications aren’t dead yet!!”. But i do love the flexibility that comes from web applications and tools that help people like me, work better and in an organised fashion. I was using GitHub for a while as a version control tool. GitHub gives everything a version control should provide out of the box, but most of the additional features provided by them are not useful for people like me. I do leave my projects as open source. But they are never libraries that can be reused or anything. They are mostly one off projects. Hence i do not really need an issue board. Most of the companies make use of a third party tool like Asana for issue tracking. One thing i have come to appreciate lately is the CI/CD features that are part of different version control systems. But, i work for a very small company with very little resources. The CI features provided by GitHub are good for open source projects. But those providers charge an insane amount of price for paid developers. You cannot go from zero to 69 dollars. It does not only say that you love open source, it says that you very much hate closed source projects. Even their basic plan is not affordable to small and budding companies.
Pricing List of Travis CI (Source : https://travis-ci.com/plans)
Hence, i took a look at Gitlab for their boasted tightly integrated CI/CD features. Even though they have a limit on the CI minutes (which i completely understand), they have an open source tool called Gitlab runner which pretty much lets you use your own machine for Continuous Integration purposes. A small company like ours could not have asked for more. We have build machines and VM’s sitting stale most of the time. We could take advantage of something like Gitlab runner and automate our development and delivery process to a much higher extent. I was working on a small project for our company and decided to use Gitlab CI. It only took me 10 minutes to setup the runner and have my builds going.
I have shared an actual snippet above. I simply use a shell script or any build script i may have and get the job done. It has an inbuilt integration to Asana, Pushover, Slack and a very easy to use API for any other integration you may want to provide.
Github probably realised that they have a very solid competition against them by now. They recently made the number of private repositories to unlimited. This is most probably because of Gitlab and its ever growing futures. Looking at the pace at which Gitlab is growing, it maybe not be very long before Gitlab wins the industry completely. I would be much happy to see Gitlab grow to be a beast in future.