I’ve been using Git source control for quite some time now and I always found that I leaned towards Gitlab. However, ever since I activated my student account on Github for the Github Education pack in September, I have found myself loving Github.
The king of git
Github itself is the most popular and mainstream Git repository system for developers. Mainly because it has such effective branding for open-source development. Personally, I think the layout is much easier to look at than Gitlab or Bitbucket, and everyone asks to link a Github, never a Gitlab or Bitbucket.
When comparing plans, Github doesn’t look bad. You have unlimited repositories and 3k minutes of Github Actions a month which is what we all enjoy. CI/CD is awesome and good to learn. I have been trying to learn it and with the announcement several months back by Github giving all account plans and no matter if it is a private or public repo.
Github Marketplace has been around for a bit and I have seen several third-parties offering CI/CD solutions for repositories. I always found Gitlab much more flexible as it pretty much offers whatever Github has, but for free. They beat Github by offering free CI/CD for both Gitlab repos and external repos. Of course, with this Github Actions feature, I can now just fully switch to Github.
Gitlab is still awesome!
I have full confidence in Gitlab and honestly, if I were to start a large project with a group that needs to be cost-effective, I would probably shift the entire repository to Gitlab as you can have unlimited team members on a repository for free while Github only allows up to 3. Both pipeline syntax is similar for both.
Here is an example of a Github YAML file:
Here is an example of a Gitlab pipeline:
I believe Gitlab does have a plugin on Github Marketplace to build your repository on Gitlab but you know, I’m still experimenting with CI/CD for my pet projects. So far, I have Github Actions working on deploying one of my sample project repositories to Firebase Hosting so I don’t have to deploy every time I push to the Master branch.
This is a small sacrifice I guess, but it will not be forgotten, my dear Gitlab. I still love the Gitlab environment but I think I get more exposure to others on Github as it is much more popular to share a Github profile than a Gitlab.
Do note, I am still learning CI/CD and DevOps so my ability to create pipelines will improve over time. Please don’t roast me too hard on the example YAML files.