Explore GitLab: Your All-in-One Solution for DevOps Excellence
What is GitLab?
GitLab is an Open Source code repository and collaborative software development
platform for large DevOps and DevSecOps projects. GitLab is free for individuals.
GitLab offers a location for online code storage and capabilities for issue tracking
and CI/CD.
Is there any alternative tool for gitlab?
Yes, alternative tools like GitHub, Bitbucket, Azure Repos, AWS CodeCommit, and
SourceForge
Is gitlab free and enterprises?
GitLab is free and enterprise both are available.
Types of users in GitLab?
In GitLab, there are several types of users with different levels of access and
permissions:
- Guest:
– Basic access to public projects.
– Can view issues and merge requests but can’t make changes. - Reporter:
– Can view and comment on code, issues, and merge requests.
– Cannot push code but can access most project information. - Developer:
– Can push code, create branches, and manage issues and merge requests.
– Can merge their own changes (depending on permissions set). - Maintainer:
– Full control over the project, including pushing, merging, and managing
repository settings.
– Can manage project members and CI/CD settings. - Owner:
– Highest level of access (typically for group-level permissions).
– Can manage the entire group, including settings, projects, and members.
What is CI and CD?
CI (Continuous Integration) is the practice of automatically testing and integrating
code changes into a shared project multiple times a day to catch issues early.
CD (Continuous Delivery/Continuous Deployment) is the practice of automatically
deploying code changes to production (or staging) after they pass tests, ensuring
faster and more reliable releases.
Together, CI/CD streamline development by automating code testing, building, and
deployment, reducing errors and speeding up the release process.
What is benefit of CICD?
The benefit of CI/CD is that it speeds up development by automating testing,
building, and deployment.
This helps catch issues early, ensures consistent code quality, and allows for faster,
more reliable releases. It also reduces manual work, minimizes human error, and
improves collaboration among team members.
How to build CI/CD pipeline and its stages?
To build a CI/CD pipeline, please follow these steps:
- Code: Developers write code and commit it to the version control system (like
GitLab). - Build: The pipeline automatically triggers a build process, compiling the code
into executable files or packages. - Test: Automated tests (unit, integration) are run to catch errors early.
- Deploy (Staging): Code is deployed to a staging environment to test in a livelike setup.
- Release: If everything passes, the code is deployed to production.
How to setup CI process?

Create a CI file .gitlab-ci.yml

Create CICD Stages
stages:
- build
- test
- deploy
before_script:
- echo "Before Script"
after_script:
- echo "Clean Up Activity"
#Build Step
build:
stage: build
before_script:
- echo "Before Build Step"
script:
- echo "First Stage"
- echo "Second Stage"
test:
stage: test
script:
- echo "Testing Stage
deploy:
stage: deploy
when: manual
script:
- echo "Deploy Stage"
