Gitlab provides built-in fuctionality to enable developers to use Devops procedures to enable [Continuous Integration] and [Continous Delivery/Deployment] using Gitlab build/test pipeines.
Developers can create automated triggers that take place upon a successful git commit/push/merge of source code which results in automated build and testing procedures, possibly followed by automated delivery and deployment to waiting production servers.
Gitlab CI Pipelines
Automating build/test/deployment with a Gitlab CI Pipeline requires 2 components:
-
A
.gitlab-ci.yml
file stored in the base directory of the git repository. This file contains the automation instructions for the build, test, deployment procedures that will be triggered on a successful push/merge. The Department has created a few sample .gitlab-ci.yml files that can perform some simple build/deployment activities. -
A gitlab-runner executable must be running somewhere in your build environment. The runner can either be a
shared
runner installed on an application server that you have been given access to by an instructor or an administrator, or aprivate
runner that you have configured and have running locally on your laptop.
The gitlab-runner executable will execute the procedures found in your repositories.gitlab-ci.yml
file. The computer executing the gitlab-runner process needs to have installed all of the software required to complete any test procedures you have defined in your .gitlab-ci.yml
file as well as the software necessary to compile/build your source code and deliver/deploy your built source code to its production destination.