What is GitLab ?
With GitLab, you get a complete CI/CD toolchain out-of-the-box. One interface. One conversation One permission model.
About GitLab
GitLab started as an open source project to help teams collaborate on software development. By delivering new functionality at an industry-leading pace, GitLab now provides a single application for the entire software development and operations lifecycle. GitLab provides everything you need to Manage, Plan, Create, Verify, Package, Release, Configure, Monitor, and Secure your applications.
Why GitLab ?¶
Why GitLab ?
We use gitlab to store source code, but we use it for much more than that.
We use GitLab for:
- CI/CD Pipelines with Native docker support.
- Source code management.
- Versioning and releasing applications.
- Store container images (private registry)
- Scheduled jobs
- Kubernetes Integration
Gitlab pipeline¶
What is a Pipeline ?
A pipeline is simply a set of stages, which by turn run the commands which eventually constructs your CI/CD Flow.
You can learn about GitLab Pipelines at GitLab.com
Gitlab artifacts¶
About artifacts
If any artifact was created at a previous runner from different stage of the same pipeline, gitlab can automatically copy it to the next runner, before the next stage starts
it is possible to control this feature directly from the stage with the artifacts:
declaration:
pdf:
script: xelatex mycv.tex
artifacts:
paths:
- mycv.pdf
expire_in: 1 week
or disable all artifacts availability by setting:
dependencies: []
All this management and much more, is abstracted from you, the developers.
Pipelines are configured by a single file which should be at the project's source code:
.gitlab-ci.yml
In the next page we will see how to create a Pipeline for our project.