Jenkins-CI-CD
Jenkins-CI-CD
GitLab CI Basics
Overview of Continuous Integration (CI)
Building Jobs in GitLab CI
Creating and configuring GitLab CI jobs
Triggering builds and managing dependencies
GitLab CI Pipeline
Introduction to GitLab CI Pipeline
Creating and managing GitLab CI Pipeline jobs
Understanding DevOps
Source: https://www.simplilearn.com/tutorials/devops-tutorial/continuous-integration
Understanding DevOps – Continuous Methodologies
How?
Using Agile – an iterative approach
Continuous Methodologies
For every change pushed to the repository, the application is built, tested, and deployed for review
automatically and continuously.
Continuous Integration
Why?
Detect development problems soon
Reduce risks of cost, schedule, and budget
Find and remove bugs earlier
Deliver new features and get user feedback more rapidly
How?
Maintain a single source repository
Automate the build
Make your build self-testing
Keep the build on the CI machine
Pace up the build with periodic commits
Test in a clone of the production (staging) environment
Make it easy for everyone to get the latest executable
Make the process transparent for everyone
Continuous Delivery/Deployment
CI/CD: For every change pushed to the repository, the application is built, tested, and deployed for
production automatically and continuously.
Continuous Delivery/Deployment
Why?
Reduce deployment risks
Change the version in production more rapidly
Get the feedback earlier
How?
Continuously integrating the software done by the development team
Run automated tests
Push build to the production-like environment
Can release one version at the push of the button
Understanding DevOps – Summary of Continuous Methodologies
Source: https://biplus.com.vn/ci-cd-devops/
Software/Packages for Continuous Integration
Source: https://about.gitlab.com/blog/2023/07/27/gitlab-flow-duo/
CI/CD Life Cycle
Source: https://www.inviggo.com/blog/an-insiders-guide-to-ci-cd-for-mobile-app-development-tools-expert-tips
GitLab CI/CD Common Terms
Collections of jobs and stages that define the software delivery How to trigger pipelines?
process
Manually: Trigger on demand for specific
Each pipeline represents a complete build, test, and deployment builds or deployments.
cycle
Automatically: Trigger on push/merge
Executed automatically when triggered according to defined events, schedule, or API calls.
conditions
Conditional triggering: Use rules to
specify when to trigger pipelines based on
specific conditions.
Types of pipelines
Basic Merged results
Directed Acyclic Merge trains
Graph (DAG)
Parent-child
Merge request
Multi-project
CI/CD Variables
Source: https://docs.gitlab.com/ee/ci/pipelines/pipeline_architectures.html#basic-pipelines