Ci CD

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 41

Exploring Version

Control & CI/CD for


Development
Efficiency
Oumaima benamar
TABLE OF CONTENTS

01 Introduction 02 Github Commands

03 Pipeline CI/Cd 04 Conclusion

2
01
Introduction

3
Version Control
Version control is a system that allows developers to track
changes made to their code over time. It provides a centralized
repository where all code changes are stored, allowing developers
to collaborate and easily revert to previous versions if needed.

4
Github Command
Micro service User

5
GIT init and git add

6
GIT Status

7
GIT Reset

8
GIT Commit & create branch

9
GIT push & git pull

10
11
12
13
Github Command
Micro service Project

14
GIT Configuration

15
GIT Remote

16
17
18
GIT Branch

19
Git tag command

20
Git Rebase

allows for the interactive manipulation and organization of commits based on the master branch.

21
Working with GitLab CI/CD
Micro service User

22
CI/CD
CI/CD is a set of practices that automate the process of building,
testing, and deploying software changes. It ensures that code
changes are integrated and tested frequently, reducing the chances
of introducing bugs or errors into the codebase. CI/CD also allows
for faster and more efficient deployment of new features and
updates.

23
Docker Image & stages

24
Stage Clean

Purpose: Remove leftovers from previous


builds

25
Output Stage Clean

26
Stage Build

Purpose: Compiles the code and prepares


artifacts.

27
Output Stage Build

28
Output Stage Build

29
Stage Code analysis

Purpose: Identifies and addresses code


quality issues.

30
Output Code analysis

31
Stage Setup database

Purpose: Sets up the database for testing

32
Output Setup database

33
Stage Unit Test

Purpose: Database migrations and running


unit tests with the test profile

34
Stage Release

Purpose: phase where a stable version of the


software is prepared and readied for
deployment

35
Output Release

36
Benefits of CI/CD
Faster Release Cycles
CI/CD enables faster release cycles by automating the build, test, and
deployment processes. This allows developers to quickly iterate and deliver
new features and bug fixes to users.

Automated Testing
CI/CD enables faster release cycles by automating the build, test, and deployment
processes. This allows developers to quickly iterate and deliver new features and
bug fixes to users.

Early Bug Detection


CI/CD allows for early bug detection by running tests and checks on every code
change. This helps catch and fix issues before they reach the production
environment, leading to more stable and reliable software.

37
Integration Snyk

38
Snyk

Purpose: identify, prioritize, and remediate security


vulnerabilities in open source dependencies used in a
project.

39
Snyk

40
Conclusion
Version control and CI/CD are essential tools for improving development efficiency
and ensuring code quality. They provide numerous benefits and streamline the software
development process.
41

You might also like