Going from base linux to continuous integration and deployment.
Welcome to my RLO for COMP 601! The goal of this RLO is to guide a user through setting up a development pipeline utilizing linux, gitlab, and kubernetes.
Please start from Step 1 through Step 8 in the navigation and I hope you find it interesting!
As depicted above, the flow of the pipeline will be as follows:
The developer pushes code to a monitored repository on GitLab. This can happen via the GitLab WebIDE or a push from the developers local computer.
GitLab detects the change in the repository and inspects the repository for the .gitlab-ci.yml and accompanying configuration files. If any changes are required it will send commands to the GitLab Runner associated with the project.
Runner will aptly "run" the stages specified in the .gitlab-ci.yml file and communicate with Kubernetes which will then communicate with Docker to build the image or deploy it.
When deploying Kubernetes will update the configuration for nginx - the web server, with the appropriate routing configuration changes which are specified in "k8s/deployment.yaml".