SlideShare a Scribd company logo
CI/CD/DEVOPS WHY
A guide towards a CI/CD best practice
Motivation
Allow us to deliver anytime anywhere (top priority)
Decrease feedback loop
Tell the dev that he broke something
Introduce a relyable way to “smoke out” the project
Prevent “Works on my machine” lazy practice
Provides a live documentation of “how to build”
Validate against “latest master” status after each push
Allow us to deliver anytime anywhere
End user wants everything delivered FAST
Delivering requires thorough documentation
•(which is a thing that we are BAD at)
•(and automation solves this by providing a ”working example”)
We need to “document” how to release
The act of delivery prevents code from being developed on PRODUCTION
machines
The granule of release is the granule of reuse
CI outline
Predefinition
• Install prerequisits like JAVA, .NET, MSBUILD, NODE+globally used package
• Clear up machine, vms or docker images
Build
• Lint / static code analysis
• check
• Build/ compile /transpile /crap-pile
• Package
Test
• Run unit tests
• Run integration tests
• Run e2e (smoke) tests
• Run performance suite
Deploy
• DEV – any commit
• QA – by tag only!!!
• PROD – by manual approval!
Provisioning
CI
• GITLAB that speaks your OS language
• Test dependencies
• DB
• external servicees (SIP server, map server etc)
• external devices
• simulators
CD
• Same as CI
• QA_TEST machine for NG QA
• STAGE machine for customer
• PROD machine for customer
Provisioning
JENKINS_SERVER
• Jenkins
• MySQL
• SQL express
QA TEST (1 machine to rule them all?)
STAGE – pre-prod??
PROD – 1 machine per product per customer
Tradeoff
Cost
Scope
Time
Cost & time
Scope
Project VS Product
• Features
• Cost
• Time
• Quality
• Features
• Cost
• Time
• Quality
Plan
•Charter
•Lessons learned
•Define schedule &
deliverables
Execution and
control
•Iterate
•Monitor and react
•Measure progress
•Log issues and risk
•Log changes in
requirements/baseline
•Change log
•Keep in touch with
customer
Closing
•Acceptance
•Performance measure
•Final status report
•Lessons learned
Plan
• Product backlog grooming
• Spring planning
• Sprint backlog
Sprint execution
• Daily progress
• Daily standup
• IGNORE THE CUSTOMER
Potentially shippable
increment
Sprint reciew
• Acceptance
• Performancemeasure
• Final status report
Sprint retrospective
• Lessons learned
• Fixed
• Variable
Plan
Branch
Code
Merge
Build
Release
Deploy
Operate
Monitor
DEV OPS
DCM checkout
•Master branch
Install
dependencies
•Vs local repo or static
Pre-build
•Lint
•Check
Build
•Compile/transpile
Test
Package
•Configuration
management
Deploy DEV
Deploy TEST ENV
for QA
Approve Deploy PROD
Code flow and CI
10 31.07.2023

https://docs.gitlab.com/ee/ci/pipelines/job_a
rtifacts.html

Steps etc
TODO gitlab.yaml
11 31.07.2023
Project lifecycle
Agile Focuses on Process
Highlights Change
While accelerating Delivery
CI/CD Focuses on Software defined life cycles
Highlights Tools
That emphasize Automation
DevOPS Focuses on Culture
Highlighting Roles
That emphasize responsiveness
CD end-to-end
PREDERFINES VCS get BUILD TEST
Deploy
TEST_QA
Deploy STAGE Deploy PROD
PREDERFINES VCS get BUILD TEST
Deploy
TEST_QA
Deploy STAGE Deploy PROD
PREDERFINES VCS get BUILD TEST
Deploy
TEST_QA
Deploy STAGE Deploy PROD
PREDERFINES VCS get BUILD TEST
Deploy
TEST_QA
Deploy STAGE Deploy PROD
Best practices
Every JOB name should be named by it’s JIRA TAG
Every CI job should be prefixed by the CI prefix
Every CI build version should be the SVN version
Every CD job should be prefixed by the CD prefix
Every failure should send an email to project owner AND departmant manager.
There should be a NG QA test machine dedicated for all projects / per project (if not applicable)
All artifacts will be sent to SYSTEMS FTP
Problems
• Main controller is a windows machine
– We’ll handle linux/debian/kolibrios when a
problem is met.
• Provisioning is a pain!
– ???
• Anywhere?!?!?!

More Related Content

PPTX
Dev/Test scenarios in DevOps world
PPTX
Test Driven Development & CI/CD
PDF
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
PPTX
Andreas Grabner - Performance as Code, Let's Make It a Standard
PDF
Succesful testing-continuous-delivery-testnet
PDF
Successful testing continuous delivery (Testnet 2013)
PDF
Continuous Delivery: How RightScale Releases Weekly
PDF
Getting to Walk with DevOps
Dev/Test scenarios in DevOps world
Test Driven Development & CI/CD
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Andreas Grabner - Performance as Code, Let's Make It a Standard
Succesful testing-continuous-delivery-testnet
Successful testing continuous delivery (Testnet 2013)
Continuous Delivery: How RightScale Releases Weekly
Getting to Walk with DevOps

Similar to CI CD OPS WHATHAVEYOU (20)

PPTX
CI/CD on AWS
PPTX
How to Add Perfecto to Your CI
PDF
CI/CD with Azure DevOps and Azure Databricks
PDF
Why your company loves to welcome change but sucks at accommodating it
PDF
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
PDF
Continuous Deployment To The Cloud @DevoxxPL 2017
PPTX
Acceptance Test Driven Development
PDF
Succesful Testing The Continuous Delivery Process
PDF
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
PPT
Continuous Delivery Agiles 2014 Medellin
PPTX
Anatomy of a Build Pipeline
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PDF
Continuous Deployment of your Application @SpringOne
PDF
DevOps Transformation: Learnings and Best Practices
PDF
Continuous delivery @ iyzico
PDF
Infrastructure and Compliance Delight with Chef Automate
PPTX
SanDiego_DevOps_Meetup_9212016-v8
PPTX
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
PPT
Test automation lessons from WebSphere Application Server
PPT
Continuous deployment steve povilaitis
CI/CD on AWS
How to Add Perfecto to Your CI
CI/CD with Azure DevOps and Azure Databricks
Why your company loves to welcome change but sucks at accommodating it
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
Continuous Deployment To The Cloud @DevoxxPL 2017
Acceptance Test Driven Development
Succesful Testing The Continuous Delivery Process
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Continuous Delivery Agiles 2014 Medellin
Anatomy of a Build Pipeline
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuous Deployment of your Application @SpringOne
DevOps Transformation: Learnings and Best Practices
Continuous delivery @ iyzico
Infrastructure and Compliance Delight with Chef Automate
SanDiego_DevOps_Meetup_9212016-v8
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
Test automation lessons from WebSphere Application Server
Continuous deployment steve povilaitis

More from Hanokh Aloni (20)

PPTX
Negev Game Devs 202304 Abandonware meetup
PPTX
SYSNGS BUGS - definition, lifecycle and what can I do with them as a developer
PPTX
How to code review for awesomeness and clarity
PPTX
NWD Total commander for fun and profit!!!
PPTX
How to write proper GIT commit messages.pptx
PPTX
Architectural kata 0 of n.pptx
PPTX
Code smells (1).pptx
PPTX
NWD the73js.pptx
PPTX
top developer mistakes
PDF
Things senior developers should know
PPTX
Cynefin framework in software engineering
PPTX
Microservices
PPTX
Wcbpijwbpij new
PPTX
Trunk based vs git flow
PPTX
How to write unmaintainable code
PDF
How i learned to stop worrying and love the logs
PPTX
Game is ggj2018 presentation
PPTX
Microservices
PPTX
Game is ggj2017 presentation
PPTX
02 terms and issues
Negev Game Devs 202304 Abandonware meetup
SYSNGS BUGS - definition, lifecycle and what can I do with them as a developer
How to code review for awesomeness and clarity
NWD Total commander for fun and profit!!!
How to write proper GIT commit messages.pptx
Architectural kata 0 of n.pptx
Code smells (1).pptx
NWD the73js.pptx
top developer mistakes
Things senior developers should know
Cynefin framework in software engineering
Microservices
Wcbpijwbpij new
Trunk based vs git flow
How to write unmaintainable code
How i learned to stop worrying and love the logs
Game is ggj2018 presentation
Microservices
Game is ggj2017 presentation
02 terms and issues

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Modernizing your data center with Dell and AMD
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
Network Security Unit 5.pdf for BCA BBA.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Modernizing your data center with Dell and AMD
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Monthly Chronicles - July 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Big Data Technologies - Introduction.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

CI CD OPS WHATHAVEYOU

  • 1. CI/CD/DEVOPS WHY A guide towards a CI/CD best practice
  • 2. Motivation Allow us to deliver anytime anywhere (top priority) Decrease feedback loop Tell the dev that he broke something Introduce a relyable way to “smoke out” the project Prevent “Works on my machine” lazy practice Provides a live documentation of “how to build” Validate against “latest master” status after each push
  • 3. Allow us to deliver anytime anywhere End user wants everything delivered FAST Delivering requires thorough documentation •(which is a thing that we are BAD at) •(and automation solves this by providing a ”working example”) We need to “document” how to release The act of delivery prevents code from being developed on PRODUCTION machines The granule of release is the granule of reuse
  • 4. CI outline Predefinition • Install prerequisits like JAVA, .NET, MSBUILD, NODE+globally used package • Clear up machine, vms or docker images Build • Lint / static code analysis • check • Build/ compile /transpile /crap-pile • Package Test • Run unit tests • Run integration tests • Run e2e (smoke) tests • Run performance suite Deploy • DEV – any commit • QA – by tag only!!! • PROD – by manual approval!
  • 5. Provisioning CI • GITLAB that speaks your OS language • Test dependencies • DB • external servicees (SIP server, map server etc) • external devices • simulators CD • Same as CI • QA_TEST machine for NG QA • STAGE machine for customer • PROD machine for customer
  • 6. Provisioning JENKINS_SERVER • Jenkins • MySQL • SQL express QA TEST (1 machine to rule them all?) STAGE – pre-prod?? PROD – 1 machine per product per customer
  • 8. Project VS Product • Features • Cost • Time • Quality • Features • Cost • Time • Quality Plan •Charter •Lessons learned •Define schedule & deliverables Execution and control •Iterate •Monitor and react •Measure progress •Log issues and risk •Log changes in requirements/baseline •Change log •Keep in touch with customer Closing •Acceptance •Performance measure •Final status report •Lessons learned Plan • Product backlog grooming • Spring planning • Sprint backlog Sprint execution • Daily progress • Daily standup • IGNORE THE CUSTOMER Potentially shippable increment Sprint reciew • Acceptance • Performancemeasure • Final status report Sprint retrospective • Lessons learned • Fixed • Variable
  • 10. DCM checkout •Master branch Install dependencies •Vs local repo or static Pre-build •Lint •Check Build •Compile/transpile Test Package •Configuration management Deploy DEV Deploy TEST ENV for QA Approve Deploy PROD Code flow and CI 10 31.07.2023
  • 12. Project lifecycle Agile Focuses on Process Highlights Change While accelerating Delivery CI/CD Focuses on Software defined life cycles Highlights Tools That emphasize Automation DevOPS Focuses on Culture Highlighting Roles That emphasize responsiveness
  • 13. CD end-to-end PREDERFINES VCS get BUILD TEST Deploy TEST_QA Deploy STAGE Deploy PROD PREDERFINES VCS get BUILD TEST Deploy TEST_QA Deploy STAGE Deploy PROD PREDERFINES VCS get BUILD TEST Deploy TEST_QA Deploy STAGE Deploy PROD PREDERFINES VCS get BUILD TEST Deploy TEST_QA Deploy STAGE Deploy PROD
  • 14. Best practices Every JOB name should be named by it’s JIRA TAG Every CI job should be prefixed by the CI prefix Every CI build version should be the SVN version Every CD job should be prefixed by the CD prefix Every failure should send an email to project owner AND departmant manager. There should be a NG QA test machine dedicated for all projects / per project (if not applicable) All artifacts will be sent to SYSTEMS FTP
  • 15. Problems • Main controller is a windows machine – We’ll handle linux/debian/kolibrios when a problem is met. • Provisioning is a pain! – ??? • Anywhere?!?!?!

Editor's Notes

  • #8: But hey – this makes sense as the whoe world is the behaving the same way….
  • #15: SVN version > version.txt Then display the version.txt somewhere.