Day 1 GitLab is a powerful tool. Its popularity originates from being more than a plain version control tool, GitLab provides the strategies and tools for continuous integration and continuous deployment.
Before I write more about GitLab, let me state that I had to refresh my understanding of the differences between continuous integration, continuous delivery, and continuous deployment before I wrote this blog. Sten Pittet wrote a helpful article about the differences: https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment.
This being said, I am led to tackle the topic once again in a direct way. I think that I had spent time on the Git documentation page years ago and found my way into versioning. I have used SVN tortoise, which was the first tool I got to know. I was introduced to GitLab by a coworker in university, at least that I am aware of, for industry projects and CI/CD.
So I need more than another superficial tutorial or third party video, which can be very helpful to quickly solve a particular issue. I need to visit the official GitLab Training Track page https://about.gitlab.com/training/.
I start with the “Git Newbies” and peeked into the GitLab documentation to get an overview of the power of GitLab before I continue with the “New to GitLab?” section. “GitLab is here for you”, that sounds promising.
GitLab states that Jenkins’s scalability was limited. Earlier, I have installed Jenkins with Kubernetes on three machines and I have set up a CI/CD pipeline. I have used Ansible with Jenkins and installed RedHat Minishift. So scalable CI/CD became an administration task with much potential and expertise to gain. It is a pity not to drive deeper into RedHat Openshift, especially given that there are so many Use Cases.
GitLab offers version control, CI/CD, monitoring, Cloud Integration, Analytics, and more. So I am not sure yet which is the right tool. Getting to know GitLab in depth is a practical consideration and after all “If you cannot do a great thing, do small things in a great way.”
Day 2 I clone the https://github.com/k2datascience/blog_analytics repo for practice reasons. I create a new repository “python-practice” in my GitHub https://github.com/EricTarantino/python-practice and open the repository with google colab as https://colab.research.google.com/github/EricTarantino.
This is a quick way to play with python notebooks. How to update the repository from within Google colab? Google colab provides this direction as described in https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb. If you would like to save your changes from within Colab, you can use the File menu to save the modified notebook either to Google Drive or back to GitHub.
Choose File→Save a copy in Drive or File→Save a copy to GitHub and follow the resulting prompts. To save a Colab notebook to GitHub requires giving Colab permission to push the commit to your repository. I confirm and add a commit message. Both directions work. I can make changes to the Python notebook, manage the versions in GitHub, and concentrate on the coding.
I have set up GitHub and followed an account, should I upload my files to Git? I decide that I would like to add a Wiki to my portfolio to sort my data, my choice is Wiki.js https://wiki.js.org/ and I begin with the installer https://docs.requarks.io/install/linux. Please become root with sudo su when setting up the container.
I find a shorter way at https://docs-legacy.requarks.io/wiki/install but I don’t try it, the other installation is through. At first login on the localhost, I give the server the default URL. Wiki.js is clean, intuitive, and organized. I recommend to give it a try, especially if an online server, respective VM is available.